大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 配置Spring的方法

配置Spring的方法

更新時(shí)間:2021-06-16 12:01:03 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1395次

1.關(guān)于spring概念的理解

(1)spring可以看做是項(xiàng)目的管家,負(fù)責(zé)管理項(xiàng)目中的所有對象(包括web層,service層和dao層)。

(2)spring一站式框架:spring跨年性質(zhì)是屬于容器性質(zhì)的,它之所以能夠處理請求,是因?yàn)槿萜髦醒b了處理請求的對象,容器中裝了什么對象它就具備什么功能,所以稱之為一站式。

(3)spring的核心是IOC反轉(zhuǎn)控制和AOP面向切面

(4)spring不排斥任何開源框架,并且能夠幫助其他框架管理對象

spring中IOC和DI的概念

ioc 反轉(zhuǎn)控制 就是將我們創(chuàng)建對象的方式反轉(zhuǎn)了 以前對象的創(chuàng)建時(shí)由開發(fā)人員自己維護(hù) 包括依賴關(guān)系也是自己注入 學(xué)習(xí)spring之后 對象的創(chuàng)建以及依賴關(guān)系可以由spring完成創(chuàng)建和注入 反轉(zhuǎn)控制也就是反轉(zhuǎn)了對象的創(chuàng)建方式 從人們自己到由spring自己進(jìn)行

di 比IOC概念要小一些 Dependency Injection 依賴注入

實(shí)現(xiàn)IOC思想 DI做支持

注入:set方法注入 構(gòu)造方法注入 字段注入

注入類型:spring支持值類型和引用類型注入

值類型注入也就是 比如剛才的demo ,user中可以注入具體的名字或者年齡 也就相當(dāng)于八大基本數(shù)據(jù)類型

引用類型注入:將依賴的對象注入 比如,將新建的address對象注入到user對象中

BeanFactory和ApplicationContext

BeanFactory接口:最底層的接口,是spring的最原始接口,針對原始接口的實(shí)現(xiàn)類,功能較為單一。 BeanFactory接口實(shí)現(xiàn)類的特點(diǎn)是,每次在獲得對象時(shí)才會創(chuàng)建對象

ApplicationContext實(shí)現(xiàn)類:ApplicationContext實(shí)現(xiàn)類的特點(diǎn)是每次容器啟動(dòng)時(shí)就會創(chuàng)建容器中創(chuàng)建的所有對象,除此以外,它還提供了更加豐富的功能。典型的兩個(gè)ApplicationContext的實(shí)現(xiàn)類為:ApplicationContex從類路徑下加載配置文件ClassPathXmlApplicationContext . ApplicationContext從硬盤絕對路徑下加載配置文件FileSystemXmlApplicationContext 。 在單機(jī)情況下通常使用ClassPathXmlApplicationContext . 若使用后者,在硬盤絕對路徑下加載,則需要在后面加上括號指明文件的具體路徑。

結(jié)論上來說:在將來web開發(fā)中,使用applicationContext完成,而在資源匱乏的環(huán)境中可以使用BeanFactory(資源匱乏:如在手機(jī)上)

2.spring搭建步驟

(1)導(dǎo)

(2)創(chuàng)建一個(gè)對象讓spring裝,

創(chuàng)建一個(gè)bean包,并在這個(gè)包中創(chuàng)建user.java(也就是Javabean),并且創(chuàng)建屬性,也就是創(chuàng)建了對象

(3)在src中書寫配置,注冊對象到容器,書寫xml文件,applicationContext.xml放在src下(這個(gè)文件的本身位置是任意的,名字也是任意的,只是建議這樣書寫)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
<bean  name="user" class="cn.itcast.bean.User" ></bean>
<beans>

(4)約束引入,在Windows下面的屬性中選擇cata,如下圖操作

然后將user對象交給spring容器處理

(5)接下來進(jìn)行代碼測試,編寫測試類代碼Demo.java

package cn.itcast.a_hello;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.itcast.bean.User;
public class Demo {
@Test
public void fun1(){
//1 創(chuàng)建容器對象
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//2 向容器"要"user對象
User u = (User) ac.getBean("user");
//3 打印user對象
System.out.println(u);
}
}

3.spring配置詳解

(1)ApplicationContext.xml中bean元素相關(guān)配置各個(gè)標(biāo)簽的作用

bean元素:使用該元素描述spring容器管理的對象

name屬性:給被管理的對象起個(gè)名字,獲得對象是根據(jù)名稱獲得對象

class屬性:被管理對象的完整類名

ID屬性:與name屬性一模一樣,關(guān)于ID的話,名稱不可重復(fù),不能使用特殊字符;name屬性名稱則可以重復(fù),可以使用特殊字符。結(jié)論:盡量使用name屬性。

1)Bean元素的進(jìn)階,scope屬性(重點(diǎn)是singleton和prototype):

一般情況下是使用singleton,但是要整合struts2時(shí)則要在ActionBean中使用prototype。而request和session屬性基本上是用不到的。

singleton(默認(rèn)值):單例對象,所謂單例對象,就是在spring容器中只會存在一個(gè)的實(shí)例

prototype屬性:多例原型被標(biāo)記為多例的對象,每次再獲得才會創(chuàng)建并且每次創(chuàng)建都是新的對象

request: web環(huán)境下,對象與request生命周期一致,也就是每當(dāng)請求處理完一次,對象將從spring容器中移除

session:web環(huán)境下,對象與session生命周期一致

2)Bean元素的進(jìn)階,生命周期屬性(了解)

生命周期屬性,配置一個(gè)方法作為生命周期初始化方法,spring會在對象創(chuàng)建之后立即調(diào)用(init-method)。也可以配置一個(gè)對象作為銷毀方法,spring在關(guān)閉并銷毀所有容器中的對象之前調(diào)用(destory-method)

(2)三種對象創(chuàng)建方式

創(chuàng)建方式一:空參構(gòu)造創(chuàng)建(重點(diǎn))

配置文件

然后只需在demo.java中編寫測試類

創(chuàng)建方式二:靜態(tài)工廠創(chuàng)建(了解)

配置:

調(diào)用UserFactory的createUser方法創(chuàng)建名為user2的對象.放入容器

<bean  name="user2" 
class="cn.itcast.b_create.UserFactory" 
factory-method="createUser" ></bean>

userFactory.Java工廠如下:

最后編寫測試類

創(chuàng)建方式三:實(shí)例工廠創(chuàng)建(了解)

實(shí)例工廠創(chuàng)建和靜態(tài)工廠創(chuàng)建類似,只是在userFactory.java中,靜態(tài)工廠使用了static 而實(shí)例工廠沒有使用static。靜態(tài)工廠可以直接使用類名完成各項(xiàng)功能的實(shí)現(xiàn),而實(shí)例工廠則需要有固定的對象,才可以完成功能的實(shí)現(xiàn)。

配置文件:

調(diào)用UserFactory對象的createUser2方法創(chuàng)建名為user3的對象.放入容器

UserFactory.java中工廠的編寫

接下來就是測試類,測試類同靜態(tài)方法創(chuàng)建一樣。

(3)spring的模塊化配置

分模塊配置,隨著項(xiàng)目的開發(fā),文件越來越多,可能吧所有對象都放一個(gè)配置文件里面太多,于是可以再一個(gè)主配置文件中引入其他配置文件,導(dǎo)入其他配置文件關(guān)鍵詞:

(4)spring屬性注入(set方式)

spring屬性注入方式一共有四種:set方法注入;構(gòu)造函數(shù)注入;p名稱空間注入;spel注入;其中后兩種作為了解,前兩種作為掌握。

1)set方式注入,以下為其在配置文件中的操作,具體還需建立user和car的bean。并得到他們的get set 以及toString方法

2)構(gòu)造函數(shù)注入

3)p名稱空間注入(可以簡化property那種繁瑣的注入)

4)spel注入(Spring Expression Language 也就是Spring表達(dá)式語言)

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"配置Spring的方法",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 四虎网址在线 | 久久免费视频8 | 日日夜夜天天干 | 五月天婷婷在线观看 | 成人欧美精品久久久久影院 | 国产91一区二这在线播放 | 国产欧美日韩综合二区三区 | 国产一级在线免费观看 | 97在线亚洲| 免费观看黄色的网站 | 久久精品欧美日韩精品 | 亚洲图片综合 | 国产免费青青青免费视频观看 | 亚洲综合色dddd26 | 久久精品一区二区免费看 | 国内精品区一区二区三 | 色综合亚洲欧美在线 | 国产一区中文字幕 | 成人区在线观看免费视频 | 九九久久亚洲综合久久久 | 精品九九九 | 亚洲精品高清视频 | 国产精品国产欧美综合一区 | 久久久久日韩精品无 | 久久草在线视频国产一 | 久久青草免费线观最新 | 久久精品| 亚洲国产精品婷婷久久久久 | www.色94色.com| 免费深夜视频 | 国产精品午夜久久久久久99热 | 精品久久久久亚洲 | 草久影院 | 欧美一区二区三区黄色 | swag国产精品 | 奇米777四色影视在线看 | 欧美日韩成人在线观看 | 国产成人精品免费大全 | 亚洲成人日韩 | 奇米影视222 | 久热中文字幕在线 |