[英]How do I inject a managed bean into @Component Spring class?
我有一個用@Component注解注解的Spring類。 我需要將bean注入局部變量。 如何將托管bean或EJB變量注入@Component Spring類?
@Component
public class AppInternetAuthenticationProvider implements AuthenticationProvider, Serializable {
private IAutenticacaoBO autenticacaoBO;
public void setAutenticacaoBO(IAutenticacaoBO autenticacaoBO) {
this.autenticacaoBO = autenticacaoBO;
}
public AppInternetAuthenticationProvider() {
}
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
// I need inject here
假設您的上下文已設置為注釋配置,並且您要注入的bean是IAutenticacaoBO
您只需要在setter之前添加@Autowired
注釋即可。
@Autowired
public void setAutenticacaoBO(IAutenticacaoBO autenticacaoBO) {
實際上,您根本不需要設置器,您只需在private屬性之前添加@Autowired
批注即可。
@Autowired
private IAutenticacaoBO autenticacaoBO;
我知道三種類型,其中@Autowired
在提到的成員之前:
不鼓勵進行場注入,此處會抱怨諸如IDEA之類的IDE。 setter注入有點棘手,因為可以引入遞歸,因此我采用了構造函數注入。 在Spring> 5(或> 4.3.x嗎?)下,您不再需要@Autowired
,這一切都將神奇地發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.