关于Spring中 @PostConstruct 没有生效的问题

近期刚刚学习Spring, 实验是在java开发环境中引入spring jar等方式进行的。

在学习bean 生命周期的过程, bean的生命周期步骤中有一个初始化相关的:

其中指定了两种初始化方式:

1: xml中<bean>标签中配置 init-method, 并在对应的bean中实现该初始化方法

2: 通过在java bean上给初始化方法添加@PostConstruct, 则spring在加载bean过程中会解析该注解,并执行该初始化方法.

@PostConstruct //指定该方法在对象被创建后马上调用 相当于配置文件中的init-method属性
    public void init(){
        System.out.println("我是初始化方法!");
    }

但是我在具体测试代码中通过第二种方法配置初始化方法,对应的日志没有执行.

解决: 在xml中添加 <context:annotation-config /> ,这会启动注解.

注: ClassPathXmlApplicationContext方式装载bean, 则@PostConstruct这种初始化方式可以生效;

BeanFactory方式装载bean, 我个人发现@PostConstruct这种初始化方式并没有生效。 不知各位是否有不同见解 ?

猜你喜欢

转载自blog.csdn.net/u012989337/article/details/81332146