在我的控制器中,我想使用 @Autowired 使用方法/构造函数自动装配来注入一个类。例如使用:
@Autowired
private InjectedClass injectedClass;
我的问题是注入的类 injectionClass 有一个构造函数,我需要从控制器向构造函数传递一个变量。如何将值传递给构造函数?
在我的控制器中,我想使用 @Autowired 使用方法/构造函数自动装配来注入一个类。例如使用:
@Autowired
private InjectedClass injectedClass;
我的问题是注入的类 injectionClass 有一个构造函数,我需要从控制器向构造函数传递一个变量。如何将值传递给构造函数?
如果您使用注解,您可以将 @Autowired 注解应用到 MyClass 的构造函数,这将自动连接您传递给 MyClass 的特殊构造函数的 bean。考虑跟随例如
public class MovieRecommender {
@Autowired
private MovieCatalog movieCatalog;
private CustomerPreferenceDao customerPreferenceDao;
@Autowired
public MovieRecommender(CustomerPreferenceDao customerPreferenceDao) {
this.customerPreferenceDao = customerPreferenceDao;
}
// ...
}
您可以使用@Resource(name = "x")
注释标记私有数据成员,也可以在应用程序上下文 XML 中使用构造函数注入来连接它们。
注解和 XML 配置可以在 Spring 中混合使用。它不必是全部或全部。
<bean id="myClass" class="foo.bar.MyClass">
<constructor-arg ref="yourArgRefHere"/>
</bean>