Jef*_*ine 2 java spring dependency-injection autowired spring-annotations
我正在处理的应用程序中使用注入有一些问题(使用Spring Version 3.1.2).首先,我看到很多这样的代码:
@Value("#{searchRequestBean}")
private SearchRequest searchRequest;
@Value("#{searchResponseBean}")
private SearchResponse searchResponse;
@Autowired
private SavedSearchService service;
Run Code Online (Sandbox Code Playgroud)
这三个中的每一个似乎都具有将指定的bean/service自动装配到类中的效果.我不明白的是,有什么之间的区别@Value,并@Autowired在这些情况下?我在网上找到的每个例子似乎都用于@Value从属性文件中注入值.在这种情况下,SearchResponse并且SearchRequest是抽象类.
我希望更好地理解这一点将有助于我解决我对Session bean的一些问题.
@Value可用于注入默认值.一个很好的例子是将默认值a注入String属性文件的值.在您的示例中,@Value用于将类的默认值设置为Spring托管bean.
@Autowired不能用于第一个例子:它不是属性文件识别. @Autowired是唯一一个bean的DI.它比具体更具体@Value,但你可以@Value用来做同样的事情.
这是一个很好的教程@Value:http://www.mkyong.com/spring3/spring-value-default-value/
| 归档时间: |
|
| 查看次数: |
10930 次 |
| 最近记录: |