在Spring框架中,你可以使用@Autowired
注解来实现构造函数注入。如果你的构造函数需要多个参数,你可以简单地将这些参数添加到构造函数中,Spring会自动将匹配的bean注入到这些参数中。
以下是一个简单的示例:
@Service
public class MyService {
private final Dependency1 dependency1;
private final Dependency2 dependency2;
@Autowired
public MyService(Dependency1 dependency1, Dependency2 dependency2) {
this.dependency1 = dependency1;
this.dependency2 = dependency2;
}
// ...
}
在这个示例中,MyService
类有一个构造函数,这个构造函数需要两个参数:Dependency1
和Dependency2
。@Autowired
注解告诉Spring,它应该查找并注入这两个类型的bean。
请注意,从Spring 4.3开始,如果类只有一个构造函数,那么@Autowired
注解是可选的,Spring会自动使用这个构造函数进行注入。所以上面的代码可以简化为:
@Service
public class MyService {
private final Dependency1 dependency1;
private final Dependency2 dependency2;
public MyService(Dependency1 dependency1, Dependency2 dependency2) {
this.dependency1 = dependency1;
this.dependency2 = dependency2;
}
// ...
}
这段代码的行为与前一个示例完全相同。
领取专属 10元无门槛券
手把手带您无忧上云