任何java bean中的spring依赖注入

com*_*tta 0 java spring dependency-injection

我的应用程序如下所示

没有弹簧(之前)

UI-> service - > javabean

ps:我的ui呼叫服务(不使用DI),我想保持这种方式

新服务()

我希望我的javabean从applicationcontext.xml文件为某些bean做DI.我应该在javabean中使用Applicationcontext.getBean(.xml)文件,还是有更好的方法可以在不更改服务层的情况下执行此操作,只修改粗体javabean

sfu*_*ger 5

你应该看看@Configurable注释(教程).

基本思想是将此注释添加到bean类中.然后,只要您创建新实例,它就会注入任何属性:

@Configurable
public class Person {
    private IPeopleDAO _dao;

    // SNIP

    public save() {
        _dao.save(this);
    }
}

// use it like this
new Person("john", "doe").save();
Run Code Online (Sandbox Code Playgroud)

  • 有一个很大的警告,它使用加载时编织,这只适用于某些类加载器环境. (2认同)