2013-03-26 129 views
0

如果我使用弹簧配置来构造一个对象,是否可以为客户实例化该对象,而不需要它们导入我的弹簧配置?使用弹簧配置而不为客户创建弹簧依赖关系

如果不能这样做,一个使用spring的客户端总是需要使用spring的任何客户端吗?

如果可以这样做,那么正确的做法是什么?事情是这样的......

库代码:

public MyFactory() { 

    @Autowired 
    InitializedObject obj 

    public getInstance() { 
    return obj; 
    } 
} 

客户端代码:

import com.code.package.something.myfactory.MyFactory; 

... 

    InitializedObject obj = MyFactory.getInstance(); 
+0

另外,而不是'@ Autowired',使用'@Inject' – 2013-03-27 03:17:19

回答

0

其中一个选项是为了避免春节注释完全,只能用Spring配置文件的工作有构造或基于注射器的注射器。这样,您的类就可以独立于Spring代码,只要您使用工厂或其他方法正确地提供依赖关系,您的客户端就可以使用您的代码。

+0

这听起来很像我想知道的。你可以详细了解一下只有构造函数或基于setter的注入是什么意思吗?任何代码示例? – Jeremy 2013-03-26 23:54:42

+0

通过快速搜索,我发现这个链接:https://sites.google.com/site/arjunwebworld/Home/programming/spring-dependency-injection。通过它的第一部分没有注释,并应该工作 – 2013-03-27 07:53:32

0

自动装配依存关系由Spring容器完成。如果没有,那么它将不会自动装配。你需要确保客户端有一个正确配置的Spring容器来自动调用你的依赖关系,或者自己设置一个(比如:使用ClassPathXmlApplicationContext