Spring依赖关系自动装配和私有方法

时间:2014-07-31 17:10:33

标签: java spring spring-mvc annotations

使用Spring注释来自动连接依赖项,我得到一个org.springframework.beans.factory.NoUniqueBeanDefinitionException,因为我有一个带有私有构造函数和公共静态get-method的类,这两个类都返回了类的实例。

该类使用@Service注释进行注释,静态get方法使用@Bean进行注释。

我知道我可以在注入点使用@Qualifier注释来消除歧义,如果我只删除@Bean注释,Spring会毫无问题地使用构造函数。

但我更喜欢Spring使用静态方法 - 也许这个方法做了一些设置(是的,我知道Spring bean默认是单例 - 仍然,也许我有理由想要强制所有构造到通过我的方法,而不是直接到我的构造函数。)

  1. 有没有办法告诉Spring作为一般策略,在满足依赖关系时,更喜欢公共方法到非公共方法(在本例中为私有构造函数)?
  2. 或者,不太吸引人,

    1. 有没有办法(一些注释)明确地从Spring的考虑中明确排除@Service类中的构造函数?

0 个答案:

没有答案