@PostConstruct使用
@PostConstruct
大佬的理解:https://www.cnblogs.com/lay2017/p/11735802.html
以下不建议看(个人浅薄的理解)
注解说明
Java 提供的注解,用来修饰一个非静态的void()方法。被其修饰的方法只会执行一次,在服务器加载servlet的时候运行。
通常使用@PostConstruct注解会是在spring框架中,该注解的方法在整个bean初始化中的执行顺序:
Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法);
个人示例
@Resource
private Mapper mapper;
private Long id;
/**
* 在整个类加载时便获取数据库中id;
* 不使用@PostConstruct注解:一:需要在运行时调用方法获取很麻烦
* 二:静态代码块无法获取到Mapper
*/
@PostConstruct
private void init() {
QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Entity::getParam, "111111111");
Entity entity = mapper.selectOne(queryWrapper);
deviceId = Long.valueOf(entity.getId());
}
如果只是想要在类加载时获取数据,还可以采用springboot的启动加载类ApplicationRunner
// 直接实现 implements Application类,实现run()方法就好;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了