如何在一個沒有注解的類中加入一個已經注解的@Autowired?
classA 沒有添加xml也沒有注解到spring中
classB @Component 已經加入注解
如何在classA 中用@Autowired 注解classB?
如果classA也 @Component了,classB可用,但是不注解就會報錯。
闭关修行中......
做個SpringContextHolder
@Component 是spring的一個bean類型的註解,添加有這個註解之後才會將該bean由spring管理,如果不加這個註解的話,spring就無法識別這個類,所以就會報錯,如果加上這個註解之後spring就知道這兩個類別是spring中的兩個bean,可以互相進行自動注入。 對spring的理解還不夠深刻,說的可能有問題,只是個人見解
從 applicationContext 中用 service 名取得。
@Autowired是表示注入, 要使用注入, 你的類別必須交給spring管理, 意思就是你的class B必须是是一个spring的bean, class A也必须是一个spring的bean, 你报错就是因为你的class A不是一个spring的bean, spring无法帮你注入class B.如果要在不是spring bean的class A中使用class B只能手动把class Bset進去.
class B
class A
做個SpringContextHolder
@Component 是spring的一個bean類型的註解,添加有這個註解之後才會將該bean由spring管理,如果不加這個註解的話,spring就無法識別這個類,所以就會報錯,如果加上這個註解之後spring就知道這兩個類別是spring中的兩個bean,可以互相進行自動注入。 對spring的理解還不夠深刻,說的可能有問題,只是個人見解
從 applicationContext 中用 service 名取得。
@Autowired是表示注入, 要使用注入, 你的類別必須交給spring管理, 意思就是你的
class B
必须是是一个spring的bean,class A
也必须是一个spring的bean, 你报错就是因为你的class A
不是一个spring的bean, spring无法帮你注入class B
.如果要在不是spring bean的
class A
中使用class B
只能手动把class B
set進去.