use*_*900 6 java spring deprecated
不推荐使用。 从5.1开始,建议使用构造函数注入进行必需的设置(或自定义的InitializingBean实现)
与相关的RequiredAnnotationBeanPostProcessor相同
但目前尚不清楚替换的是什么,似乎应该不可用。
除非它是构造方法的一部分,否则此更改是否会使我们无法按要求标记方法?防止在类创建时发生意外异常?
qut*_*tax 11
有三种通过注释注入bean的方法:
现场注入
@Autowired
private FooService fooService;
Run Code Online (Sandbox Code Playgroud)
二传手注射
private FooService fooService;
@Autowired
public void setFooService(FooService fooService) {
this.fooService = fooService
}
Run Code Online (Sandbox Code Playgroud)
构造函数注入(这是上述替换项)
private final FooService fooService;
@Autowired
public MyComponent(FooService fooService) {
this.fooService = fooService;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,声明服务的唯一方法final是使用构造函数注入,它会替换@Required注释,因为它会强制类的用户使用所需的服务实例化它。用户不必是Spring,它也可以是一个简单的单元测试。
您应该对强制性依赖项使用构造函数注入,而对可选依赖项使用setter注入,而不是字段注入。原因如下:
进一步阅读:
| 归档时间: |
|
| 查看次数: |
3443 次 |
| 最近记录: |