0

如果我使用 spring 配置来构造一个对象,我是否可以为客户实例化该对象而不需要他们导入我的 spring 配置?

如果无法做到这一点,一个使用 spring 的客户是否总是需要它的任何客户使用 spring?

如果可以做到这一点,那么正确的方法是什么?像这样的东西...

库代码:

public MyFactory() {

   @Autowired
   InitializedObject obj

   public getInstance() {
     return obj;
   }
} 

客户端代码:

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

...

   InitializedObject obj = MyFactory.getInstance();
4

2 回答 2

0

自动装配依赖由 Spring 容器完成。如果没有,则不会自动接线。您需要确保客户端具有正确配置的 Spring 容器以自动装配您的依赖项,或者自己设置一个(例如:使用ClassPathXmlApplicationContext

于 2013-03-26T23:34:27.970 回答
0

一种选择是完全避免使用 Spring 注释,仅使用 spring 配置文件以具有基于构造函数或 setter 的注入。这样,您的类就变得独立于 Spring 代码,并且您的客户可以使用您的代码,只要他使用工厂或其他方式正确地提供依赖项。

于 2013-03-26T23:31:56.650 回答