クラスA:
package myproject.web.factory.components;
@Component
public class AppComponentFactory{
}
クラスB
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:
<context:component-scan base-package="myproject.spring" />
WebConfig.java:
package myproject.spring.config;
@Configuration
@ComponentScan(basePackages = { "myproject.web.components"})
public class WebConfig {
http://docs.oracle.com/javaee/5/api/javax/annotation/PostConstruct.htmlのすべてのルールに従いました。
- このアノテーションでアノテーションを付けることができるメソッドは 1 つだけです。
- メソッドは、EJB インターセプターの場合を除き、パラメーターを持ってはなりません (MUST NOT)。
- メソッドの戻り値の型は void でなければなりません。
- メソッドは、チェック例外をスローしてはなりません。
- PostConstruct が適用されるメソッドは、パブリック、プロテクト、パッケージ プライベート、またはプライベートの場合があります。
- メソッドは static であってはなりません。
何か案は?