spring基礎知識詳解

2021-07-11 06:04:05 字數 3024 閱讀 3640

spring注入方式:

xml配置注入:

xml注入分為:構造方法注入:

和setter方法注入

配置如下:

<?xml version="1.0" encoding="utf-8"?>

使用p命名空間注入(詳情可參考spring spel表示式):

簡化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...