我想以编程方式使用Spring注入一个普通的java对象,而不使用任何xml配置.要注入与标签标注的一样田/方法@EJB,@PostConstruct等等.这可能吗?谢谢!
Sea*_*oyd 24
使用AnnotationConfigApplicationContext,您根本不需要任何XML.您以编程方式创建应用程序上下文
a)手动注册带注释的类
appContext.register( MyTypeA.class,
MyTypeB.class,
MyTypeC.class );
Run Code Online (Sandbox Code Playgroud)
b)或扫描类路径以获取注释类
appContext.scan(
"com.mycompany.myproject.mypackagea",
"com.mycompany.myproject.mypackageb"
)
Run Code Online (Sandbox Code Playgroud)
如果您使用其中一个便利构造函数
AnnotationConfigApplicationContext(Class <?> ... annotatedClasses)
要么
AnnotationConfigApplicationContext(String ... basePackages)
自动创建和刷新上下文,否则您需要在添加类或包后手动调用refresh()方法.
对于自动装配现有的bean,我认为首选的习惯用法是使用
appContext.getAutowireCapableBeanFactory().autowireBean(existingBean)
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要更多控制,请使用
appContext.getAutowireCapableBeanFactory()
.autowireBeanProperties(
existingBean,
autowireMode,
// e.g. AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE
dependencyCheck
)
Run Code Online (Sandbox Code Playgroud)
有关进一步参考,请参阅
| 归档时间: |
|
| 查看次数: |
6122 次 |
| 最近记录: |