1. 程式人生 > >Spring 註解詳解

Spring 註解詳解

為什麼使用註解?

當我們的專案越來越複雜時 配置檔案也會變得複雜 這樣不僅影響開發效率 還影響錯誤查詢
因此 Spring 提供了註解方式開配置bean

使用註解需要準備工作
1. 匯入 Spring架包
2. 引入約束檔案 context檔案
3. 開啟掃描註解 <context:component-scan base-package=" + 包名 + "></context:component-scan>

常用註解

@Component
        給User類加上該註解就等同於在配置檔案添加了<bean name = "user"
class = "..." > 如果沒有指定bean名字 預設是類名以小寫開頭 為其指定名字 @Component("name") Spring 為了細化註解 引入了 Component 的三個子註解 @Service 對應Service業務邏輯 @Controller 對應Action Servlet層 @Repository 對應資料庫相關 這三個子標籤作用和 Component 作用一樣 更加語義化 @Scope(scopeName ="") 用來控制bean的作用域 候選片語有 prototype singleton request session @Value
("值") 為屬性注入值 可以寫在屬性上 也可以寫在set方法上 寫在屬性上會破壞物件的封裝性 建議寫在set上 @Autowired 自動裝配 可以將容器中對應的bean 自動注入到屬性中 @Qualifier 如果容器中有多個型別相同的bean 可以使用此註解 可以具體裝配到哪一個 一般和 @Autowired 搭配使用 @Resource(name="") 手動裝配 告訴spring 把哪一個bean 注入進來 @PostConstruct 物件構造後立即執行 @PreDestroy 物件銷燬前執行

Spring中的測試方法

// 想要在Spring中測試某個方法時需要了下面這兩個註解(加在類上)
 // 執行測試時 會自動建立 spring 容器
    @RunWith(SpringJUnit4ClassRunner.class)
    // 指定配置檔案
    @ContextConfiguration("classpath:applicationContext.xml")
    // 當然 我們只在測試方類中這樣書寫 原因是Test環境中 類不會自動建立容器
    // 因此 我們不能直接使用 @Autowired 其他的環境下可以直接使用

Spring AOP 程式設計

AOP為Aspect Oriented Programming的縮寫 意為面向切片程式設計
攔截器 實質是就AOP思想的一種體現 可以參考攔截器實現原理理解AOP