在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;
}
// ...
}
这段代码的行为与前一个示例完全相同。
云+社区技术沙龙[第14期]
云原生正发声
北极星训练营
北极星训练营
北极星训练营
云+社区技术沙龙[第22期]
T-Day
云+社区技术沙龙[第1期]
Techo Day 第二期
Techo Day
领取专属 10元无门槛券
手把手带您无忧上云