Spring-08-使用註解開發
阿新 • • 發佈:2020-08-24
8. 使用註解開發
在Spring4之後,要使用註解開發,必須保證aop的包匯入!
使用註解需要匯入context約束,增加註解的支援!
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> <context:annotation-config/> </beans>
-
bean
-
屬性如何注入 @Value("...")
@Component public class User { //相當於<properties name="name" value="huba"/> @Value("CodeHuba") public String name; }
-
衍生的註解
@Component有幾個衍生註解,我們在web開發中,會按照mvc三層架構分層
- dao【@Repository】
- service【@Service】
- controller【@Controller】
這四個註解功能都是一樣的,都代表將某個類註冊到Spring容器中,也就是裝配Bean!
-
自動裝配
- @Autowired:自動裝配(先byType,再byName)
- 有需要配合@Qualifier(value="xxx")
- @Nullable:欄位標記了這個註解,說明可以為null
- @Resource:自動裝配(先byName,再byType)
- @Autowired:自動裝配(先byType,再byName)
-
作用域
@Component @Scope("prototype") public class User { //相當於<properties name="name" value="huba"/> @Value("CodeHuba") public String name; }
-
小結
xml與註解:
- xml更加萬能,適合與任何場合,維護簡單方便
- 註解 不是自己的類使用不了,維護相對複雜!
xml與註解最佳實踐:
- xml用來管理bean;
- 註解只負責屬性的注入;
- 我們在使用的過程中,只需要注意一個問題:必須讓註解生效,就需要開啟註解的支援。
<!--指定掃描的包,這個包下的註解就會生效-->
<context:component-scan base-package="com.kuang"/>
<!--開啟註解生效-->
<context:annotation-config/>