spring注入方式:
xml配置注入:
xml注入分為:構造方法注入:
和setter方法注入
配置如下:
使用p命名空間注入(詳情可參考spring spel表示式):<?xml version="1.0" encoding="utf-8"?>
簡化setter方法注入
setter方法注入
p命令空間
普通值# p:屬性名="值"
引用值# p:屬性名-ref="引用名稱"
前提:必須新增p命名空間
表示式語言
l 使用 spel
對所有操作進行簡化,所有注入都採用
value
屬性。
l 格式:
表示式}">
l 表示式語言:
常量:#、#
、#引用bean:#
bean屬性:#
bean方法:#
靜態資源:#
spring的集合對映:
<?xml version="1.0" encoding="utf-8"?>
gaogao1
gao2
leige1
磊哥2磊哥3
1
leige1
2leige2
註解注入:
l 註解:使用註解類用於取代xml
配置檔案。
優點:xml
配置少,使用註解配置資訊簡化
缺點:硬編碼,查詢時繁瑣。
l spring定義註解
1 @component 元件,用於取代
提供component
衍生版,功能相同,但用於標識不同的層次
@repository 修飾
dao層
@service 修飾
service層
@controller 修飾
web層
方案1:
@autowired 自動注入,預設按照型別
可以修飾在字段上
也可以修飾在setter
方法上
缺點:如果同乙個介面,有兩個實現類,就會存在衝突
@qualifier 修改
autowired
匹配,將按照名稱匹配。
方案2:
@resource 可以完成
@autowired
和 @qualifier 功能
例如:@resource("userdaoid")
按照名稱匹配
@postconstruct 初始化
@predestroy 銷毀
@scope 作用域
l使用註解,必須將「被註解修飾的類」交予spring
進行掃瞄。
類所在包名
">
呼叫註解首先是要在xml裡面啟用註解,
如下:
還需要匯入spring的aop包(我就是錯誤在這裡,我已開始以為是spring3.x和jdk不相容的問題,換了4.2的jar包還是一樣,最後發現,錯誤在這,對於初學者來說真是呵呵):
最後就可以啟用註解了:
action層:
package com.leige.an;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.controller;
@controller
//@controller用於標示web層,不配名稱,預設類的簡稱首字母小寫
public class useraction
}service層:
package com.leige.an;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.beans.factory.annotation.qualifier;
import org.springframework.stereotype.service;
/** * @author
* *@service用於標識service層,不配名稱,預設類的簡稱首字母小寫
*/@service
public class userserviceimpl implements userservice
}dao層:
package com.leige.an;
import org.springframework.stereotype.component;
import org.springframework.stereotype.repository;
/** * @author
* @repository用於表示dao層,不配名稱,預設類的簡稱首字母小寫
* */
@repository("userdaoid")
public class userdaoimpl implements userdao
}測試類:
package com.leige.an;
import org.junit.test;
public class testap
}結果:
spring基礎知識
通知 advice 通知定義了要織入目標物件的邏輯,以及執行時機。spring 中對應了 5 種不同型別的通知 前置通知 before 在目標方法執行前,執行通知 後置通知 after 在目標方法執行後,執行通知,此時不關係目標方法返回的結果是什麼 返回通知 after returning 在目標方...
Spring基礎知識梳理
1 spring概要 spring現在主要是一站式服務,spring core container是 其中最重要的元件,一般與其他框架一起用。spring容器最重要的作用?是管理bean,spring容器中的全部物件都是bean。spring通過什麼來管理bean?xml檔案 spring的底層會執...
Spring基礎知識(一)
bean管理物件的xml檔案配置 1 ioc invension of control 即控制反轉,是spring的核心內容。在沒有使用spring的時候,程式中物件的建立時通過new來實現的,需要自己根據需要建立物件。而在spring中,我們把物件建立的控制權交給ioc容器,在需要物件的時候,io...