@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()方法就好;
posted @ 2022-03-15 17:16  窃窃私语QAQ  阅读(159)  评论(0编辑  收藏  举报