<context:annotation-config> and <context:component-scan>

3
在Spring 3中,我需要定义和来启用@PostConstruct吗? applicationContext.xml
<context:component-scan base-package="net.test" />

........
...

<context:annotation-config />

我有一个名为getLazyLoad的方法在我的托管Bean中,我想为这个Bean使用@PostConstruct注解。谢谢。
2个回答

3

<context:annotation-config>足够了,之后你可以从context.xml实例化你的bean,并且Spring支持的@PostConstruct、@Autowired、@Resource和其他一些注解将被处理。请注意,如果你使用component-scan注释,则默认启用annotation-config模式。


为了扫描包,我仍然需要 <context:component-scan base-package="net.test" /> 吗? - Jacob

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。


为了扫描包,我是否仍然需要 <context:component-scan base-package="net.test" /> - Jacob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接