1、 引入context命名空間(在spring的配置檔案中),配置檔案如下:
xml** 收藏**
xmlns:context=""
.org/schema/context
.org/schema/context/spring-context-2.5
.xsd
開啟配置
spring 會自動掃瞄cn.pic包下面有註解的類,完成bean的裝配。
xml** 收藏**
<?xml version="1.0" encoding="utf-8"?>
xmlns=".org/schema/beans"
xmlns:xsi=""
xmlns:context=""
xsi:schemalocation=".org/schema/beans
.org/schema/beans/spring-beans-2.5.xsd
/spring-context-2.5.xsd">
base-package="cn.pic"/>
beans>
2 在classpath中加入註解用的jar包
lib\j2ee\common-annotations.jar
spring 的context:component-scan掃瞄支援掃瞄jar包的方法:
eclipse自帶的jar打包程式,預設打包的時候有個選項沒有勾選,只要勾選了,就可以了.
———–常用註解——–
–定義bean的註解
@controller
@controller(「bean的名稱」)
定義控制層bean,如action
@service
@service(「bean的名稱」)
定義業務層bean
@repository
@repository(「bean的名稱」)
定義dao層bean
@component
定義bean, 不好歸類時使用.
–自動裝配bean (選用一種註解就可以)
@autowired (srping提供的)
預設按型別匹配,自動裝配(srping提供的),可以寫在成員屬性上,或寫在setter方法上
@autowired(required=true)
一定要找到匹配的bean,否則拋異常。 預設值就是true
@autowired
@qualifier(「bean的名字」)
按名稱裝配bean,與@autowired組合使用,解決按型別匹配找到多個bean問題。
@resource jsr-250提供的
預設按名稱裝配,當找不到名稱匹配的bean再按型別裝配.
可以寫在成員屬性上,或寫在setter方法上
可以通過@resource(name=」beanname」) 指定被注入的bean的名稱, 要是未指定name屬性, 預設使用成員屬性的變數名,一般不用寫name屬性.
@resource(name=」beanname」)指定了name屬性,按名稱注入但沒找到bean, 就不會再按型別裝配了.
@inject 是jsr-330提供的
按型別裝配,功能比@autowired少,沒有使用的必要。
–定義bean的作用域和生命過程
@scope(「prototype」)
值有:singleton,prototype,session,request,session,globalsession
@postconstruct
相當於init-method,使用在方法上,當bean初始化時執行。
@predestroy
相當於destory-method,使用在方法上,當bean銷毀時執行。
–宣告式事務
@transactional
spring學習筆記
spring中兩個十分重要的概念 ioc di aop 1.ioc di inverse of control dependence injection ioc 控制反轉,看起來比較牛b,說起來十分簡單。就是不使用傳統的將類的依賴關係用硬編碼來維護的方式,而是讓容器來管理類之間的依賴,依賴關係在全在...
Spring 學習筆記
實現ioc的兩種方式 dependency injection 和 service locator 關於依賴注入 依賴注入指的是,當您在a物件內部需要b物件的某個功能時,a就依賴於b,您可以直接在a內部例項化b,但日後要修改就麻煩些。如果您不直接在a內部例項化b,而是通過ioc將乙個b例項從外部設定...
spring學習筆記
spring的bean的生命週期 只用反射機制通過class路徑獲得class型別,呼叫預設建構函式例項化乙個物件。呼叫bean的property設定物件的屬性 set方法 如果bean的類實現了beannameaware介面,那麼還會呼叫setbeanname方法 如果bean的類實現了beanf...