首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring:@PostConstruct不被调用

Spring:@PostConstruct不被调用
EN

Stack Overflow用户
提问于 2012-12-17 17:27:21
回答 1查看 14.3K关注 0票数 7

A类:

代码语言:javascript
复制
package myproject.web.factory.components;

@Component
public class AppComponentFactory{
}

B类

代码语言:javascript
复制
package myproject.web.components;
import myproject.web.factory.components.AppComponentFactory;

@Component
public class AdminTabSheet{

   @Autowired
   private AppComponentFactory appComponentFactory;

   public AdminTabSheet() {
   }

   @PostConstruct
   public void init() {
      // does something with appComponentFactory
   }
}

配置XML:

代码语言:javascript
复制
<context:component-scan base-package="myproject.spring" />

WebConfig.java:

代码语言:javascript
复制
package myproject.spring.config;

@Configuration
@ComponentScan(basePackages = { "myproject.web.components"})
public class WebConfig {

我遵守了http://docs.oracle.com/javaee/5/api/javax/annotation/PostConstruct.html的所有规则

  • 只有一个方法可以用这个注释进行注释。
  • 除EJB拦截器外,该方法不得具有任何参数。
  • 方法的返回类型必须为无效。
  • 该方法不能抛出已检查的异常。
  • 应用PostConstruct的方法可以是公共的、受保护的、包私有的或私有的。
  • 方法不能是静态的。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-03-30 18:16:40

如果没有错误,我相信正确的是

代码语言:javascript
复制
@ComponentScan(basePackages = { "myproject.web"})

因为AppComponentFactorymyproject.web.factory包中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13918988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档