@compent 结合 @PostConstruct 加载数据字典
程序员文章站
2022-05-25 08:04:08
...
@Compent spring组件 // org.springframework.stereotype.Component
@PostConstruct java注解 //javax.annotation.PostConstruct
@PostConstruct在项目中的用处
1.spring项目加载数据字典
@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。
以例子说明
- 实际项目中可以在PostConstruct执行时候将数据字典保存到redis或其他缓存中,设置过期时间,项目启动全部获取;其他地方调用的时候直接可以从缓存中获取
/**
* @description 构造数据字典
*/
@Component
public class DataDict {
private Logger logger = LoggerFactory.getLogger(this.getClass());
public DataDict() {
logger.info("--------数据字典构造方法---");
}
// 这个就不列出来了,就是一个订单的service
@Autowired
private SdOrderService sdOrderService;
private SdOrder orderTest;
public SdOrder test() {
return orderTest;
}
@PostConstruct
public void init() {
logger.info("[email protected]的方法---");
String orderNo = "SD201909111129308026";
// 根据订单号查询数据看数据
orderTest = sdOrderService.selectByOrderNo(orderNo);
}
}
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:spring.xml","classpath:spring-mybatis.xml","classpath:spring-rabbitmq.xml"})
@WebAppConfiguration
public class EverythingTest {
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private DataDict dataDict;
@Test
public void testPostConstruct() {
SdOrder order = dataDict.test();
logger.info("----订单>:{}",order);
}
}
// 打印结果
// [INFO][][main][2019-09-20 16:22:05] andy.bean.po.DataDict.<init>(DataDict.java:24) [--------数据字典构造方法---]
// [INFO][][main][2019-09-20 16:22:22] andy.bean.po.DataDict.init(DataDict.java:38) [[email protected]的方法---]
// [INFO][][main][2019-09-20 16:23:23] com.launch.sharedevice.EverythingTest.testPostConstruct(EverythingTest.java:63) [----订单>:SdOrder(userId=202, orderNo=SD201909111129308026, costRuleId=123, deviceNo=989820000212, price=0.01, currencyType=0, payFrom=1, payItem=3, payStatus=0, payTime=null, thirdTradeNo=null, number=1)]
下一篇: 实现Android单选框的监听
推荐阅读
-
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
-
详解Angular结合zTree异步加载节点数据
-
解决spring懒加载以及@PostConstruct结合的坑
-
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
-
@compent 结合 @PostConstruct 加载数据字典
-
使用Vue.Js结合Jquery Ajax加载数据的两种方式
-
Angular结合zTree异步加载节点数据实例分享
-
jQuery结合AJAX之在页面滚动时从服务器加载数据_jquery
-
jQuery结合AJAX之在页面滚动时从服务器加载数据_jquery
-
详解Angular结合zTree异步加载节点数据