3

在 Spring 3 中,我是否需要拥有<context:annotation-config><context:component-scan>定义才能启用 @PostConstruct?

应用程序上下文.xml

<context:component-scan base-package="net.test" />

........
...

<context:annotation-config />

我的 ManagedBean 中有一个 getLazyLoad 方法,我想对这个 bean 使用 @PostConstruct。

谢谢

4

2 回答 2

3

<context:annotation-config>就足够了,之后您可以从 context.xml 和 @PostConstruct、@Autowired、@Resource 以及 Spring 支持的一些其他注释实例化您的 bean。注意如果你使用组件扫描注解配置模式默认启用。

于 2012-12-19T11:51:37.840 回答
2

在您的 bean 中没有任何与相关的类级别的注释@Component

<context:component-scan base-package="net.test" />

不需要。

@PostConstruct只合作<context:annotation-config />就足够了。

编辑1:

假设如果您的 bean 有任何以下注释

@Component, @Repository, @Service, or @Controller.

然后<context:component-scan />将扫描指定包下的那些bean。

于 2012-12-19T11:51:47.490 回答