Spring配置文件中的XML能實現容器注入的方式註解也能實現:
曾經的XML配置:
<bean id="accountService" class="com.hr.service.impl.AccountServiceImpl"
scope="" init-method="" destory-method="">
<property name="" value="" | ref=""></property>
</bean>
全部用註解實現, 那麼:
1 用於創建對象的
他們的作用就和在xml中寫一個<bean>標籤實現的功能是一樣的
@Component: 用於把當前類對象存入spring容器中
@Controller
@Service
@Repository
2 用於注入數據
<property>
@Autowired:
作用: 自動按照類型注入,只要容器中有唯一一個bean對象類型和要注入的變量類型匹配,就可以注入成功
如果ioc容器中沒有任何bean的類型和要注入的變量類型匹配,則報錯
如果ioc容器中有多個類型匹配時候, 則要和@Qualifier一起使用, 按照變量名和id 進行注入
@Qualifier 用在變量上需要和Autowired一起使用 (在按照類中注入的基礎上再按照名稱注入,它在給類成員注入時不能單獨使用)
@Resource: 直接按照bean的id注入,它可以獨立使用. 屬性: name, 用於指定bean的id
@Value: 用於注入基本類型和String類型的數據, Value可以使用SpEL表達式, SpEL寫法: ${表達式}
@Bean
3 改變作用範圍
<scope>:
@Scope("prototype") //多例的
@Scope("singleton") //單例的 默認值
4 生命週期 (瞭解)
<init-method> : PostConstruct : 指定初始化方法
<destory-method> : PreDestory: 指定銷燬方法
託管的github地址:
https://github.com/2402zmybie/spring02_anno_ioc