日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring配置详解-属性注入(set方式)

發布時間:2024/4/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring配置详解-属性注入(set方式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Spring當中屬性注入,關鍵的部分了,Spring中的屬性注入,這個屬性注入其實也算配置,Spring中的屬性注入,那Spring的屬性注入呢,一共有三種方式,我今天感覺方式有點多,Spring注入方式,剛才我說了有三種,好像四個,分別是set方法注入,構造函數注入,p名稱空間注入,和spel注入,Spring Expression Language,其中后兩種是綠色,前兩種是紅色,需要掌握的,那接下來四種方式,就挨個看吧,第一個重點到發紫了,紅的發紫,set注入是這四種注入方式的帶頭大哥,最重要的一個,其他方式其實忘了都無所謂的,最主要是set方法注入,當然最簡單的也是set方法注入,看一下,咱們要測試注入呢,咱們再新建一個包,新建一個package,c_injection,注入,復制一個配置文件過來,就留user就可以了,然后接下來寫一個,set方式注入,咱們先學習一下set注入基本類型的值,或者叫注入值類型,那咱們user有沒有值類型的屬性,顯然是有,咱們換句話講,全是值類型的屬性,一個是什么,一個String類型,還有一個是什么,Integer,都是值類型的,來一個property元素,然后name屬性填寫,填寫name,表示你要給user對象的name屬性注入值,明白啥意思了,接下來,注入什么值呢,使用value來表示,比如這里寫tom,這樣就表示我要給name屬性注入tom值,為User對象中名為name的屬性注入tom作為值,依次類推,下面age屬性怎么注入會了吧,這里是不是寫age,然后value這里面,tom 18歲,這我就不寫注釋了 <?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 "><!-- set方式注入 --><bean name="user" class="com.learn.bean.User"><!-- 為User對象中名為name的屬性注入tom作為值 --><property name="name" value="tom"></property><property name="age" value="18"></property></bean></beans> 接下來咱們測試一下,重寫一下構造方法,讓咱們的屬性能夠打印出來 package com.learn.bean;/*** @author Leon.Sun*/ public class User {public User() {System.out.println("User空參構造方法");}private String name;private Integer age;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public void init() {System.out.println("我是初始化方法!");}public void destory() {System.out.println("我是銷毀方法!");}@Overridepublic String toString() {return "User [name=" + name + ", age=" + age + "]";}} Demo放在injection里面,然后把咱們的配置文件路徑復制一下,粘到這個位置,去掉src之前的部分,接下來我們還需要獲得user對象,打印就可以了,看看打印結果是不是tom 18,沒有懸念 package com.learn.c_injection;import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;import com.learn.bean.User;public class Demo {/*** 創建方式1:空參構造*/@Testpublic void fun1() {/*** 1.創建容器*/ApplicationContext ac = new ClassPathXmlApplicationContext("com/learn/c_injection/applicationContext.xml");/*** 2.向容器要"user"對象*/User u = (User)ac.getBean("user");/*** 打印user對象*/System.out.println(u);}} User空參構造方法 User [name=tom, age=18] 是不是 tom 18歲,這就是值類型的set方法注入,接下來要玩一個對象類型的注入,注入方式分幾種,注入類型分幾種,接下來看對象類型的注入,你這個User得有對象類型的屬性,接下來咱們來創建一個對象,人嗎得有車,來一個Car,然后給這個Car再來一個private String name,再來一個private String color,就是這個顏色,然后生成get/set方法,這樣的話車對象就創建好了 package com.learn.bean;public class Car {private String name;private String color;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}@Overridepublic String toString() {return "Car [name=" + name + ", color=" + color + "]";}} 接下來讓人擁有車,來一個private Car car,生成get/set方法 package com.learn.bean;/*** @author Leon.Sun*/ public class User {public User() {System.out.println("User空參構造方法");}private String name;private Integer age;private Car car;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public void init() {System.out.println("我是初始化方法!");}public void destory() {System.out.println("我是銷毀方法!");}public Car getCar() {return car;}public void setCar(Car car) {this.car = car;}@Overridepublic String toString() {return "User [name=" + name + ", age=" + age + ", car=" + car + "]";}} 然后接下里回到配置文件當中,現在要給Car屬性注入了,怎么辦呢,你要注入之前呢,你先得把Car對象配置到容器當中來,才能注入,所以第一步首先,將Car對象配置到容器中,來一個Bean,然后name,class,你們提示不了,你們提示不了的,今天老老實實復制完整類名,自己手動復制,明天再告訴你怎么去設,今天能夠提示的是配bean元素,提示name屬性,property元素,完整類名是誰都提示不了的,注意,我這兒能提示,是為啥呢,接下來的話,屬性給他注入一下,有顏色和名字,那咱們來一個什么車啊,蘭博基尼,color咱們來一個黃色的,接下來來一個property元素,等于Car,看好,關鍵來了,car這個屬性是對象類型的,user對象中的car是對象類型的,是不是把下面的這兩車給他,ref這個屬性,就是指定哪一個對象要注入進去的,你把這個car粘到這里來,ref全寫其實就是reference,翻譯過來就是引用,為car屬性注入下方配置的car對象 <?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 "><!-- set方式注入 --><bean name="user" class="com.learn.bean.User"><!-- 為User對象中名為name的屬性注入tom作為值 --><property name="name" value="tom"></property><property name="age" value="18"></property><!-- 為car屬性注入下方配置的car對象 --><property name="car" ref="car"></property></bean><!-- 將car對象配置到容器中 --><bean name="car" class="com.learn.bean.Car"><property name="name" value="蘭博基尼"></property><property name="color" value="黃色"></property></bean></beans> 接下來咱們這樣,測試一下,但是為了看到效果,咱們把Car的toString寫出來,再把User的toString刪掉,重新生成一個 package com.learn.bean;public class Car {private String name;private String color;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}@Overridepublic String toString() {return "Car [name=" + name + ", color=" + color + "]";}} 再到Demo里面執行一下,看一下,這個User,這個Tom,18歲就開著黃色的蘭博基尼 package com.learn.c_injection;import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;import com.learn.bean.User;public class Demo {/*** 創建方式1:空參構造*/@Testpublic void fun1() {/*** 1.創建容器*/ApplicationContext ac = new ClassPathXmlApplicationContext("com/learn/c_injection/applicationContext.xml");/*** 2.向容器要"user"對象*/User u = (User)ac.getBean("user");/*** 打印user對象*/System.out.println(u);}} 值類型用value,引用類型用ref,這就是set方法注入,這個是引用類型注入,值類型注入,set方式注入

?

總結

以上是生活随笔為你收集整理的spring配置详解-属性注入(set方式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。