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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

[Spring5]IOC容器_Bean管理XML方式_注入其他类型属性

發布時間:2023/12/4 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Spring5]IOC容器_Bean管理XML方式_注入其他类型属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

xml注入其他屬性

bean:

package com.atguigu.spring;/*** 演示使用set方法進行注入屬性*/ public class Book {private String bname;private String bauthor;private String address;public Book(String address) {this.address = address;}public String getBname() {return bname;}public void setBname(String bname) {this.bname = bname;}public String getBauthor() {return bauthor;}public void setBauthor(String bauthor) {this.bauthor = bauthor;}public void testDemo(){System.out.println(bname + "::" + bauthor+"::"+address);} }

1.字面量

(1)null值

<bean id = "book" class = "com.atguigu.spring.Book"><!--使用property完成屬性注入name:類里面屬性名稱value:向屬性注入的值--><property name="bname" value="易筋經"></property><property name="bauthor" value="達摩老祖"></property><!--null值--><property name="address" ><null/></property></bean>

(2)屬性值包含特殊符號

<bean id = "book" class = "com.atguigu.spring.Book"><!--使用property完成屬性注入name:類里面屬性名稱value:向屬性注入的值--><property name="bname" value="易筋經"></property><property name="bauthor" value="達摩老祖"></property><!--屬性值包含特殊符號1.把<>進行轉義,&lt;&gt;2.把帶特殊符號內容寫到CDATA<![CDATA[你要寫入的值]]]>--><property name="address" ><value><![CDATA[<<南京>>]]></value></property></bean>

測試結果:

注入屬性-外部bean

(1)創建兩個類service類和dao類

(2)在service調用dao里面的方法

package com.atguigu.service;import com.atguigu.dao.UserDao; import com.atguigu.dao.UserDaoImpl;public class UserService {//spring方法//創建UserDao類型屬性,生成set方法private UserDao userDao;public void setUserDao(UserDao userDao){this.userDao = userDao;}public void add01(){System.out.println("service add");userDao.update();}public void add(){System.out.println("service add");//傳統方法//創建UserDao對象UserDao userDao = new UserDaoImpl();userDao.update();} } package com.atguigu.dao;public interface UserDao {public void update();} package com.atguigu.dao;public class UserDaoImpl implements UserDao{@Overridepublic void update() {System.out.println("dao update");} }

(3)在spring配置文件中進行配置

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--1.service和dao對象創建--><bean id = "userService" class = "com.atguigu.service.UserService"><!--注入userDao對象name屬性值:類里面屬性名稱ref屬性:創建userDao對象bean標簽id值--><property name="userDao" ref = "userDaoImpl"></property></bean><bean id = "userDaoImpl" class = "com.atguigu.dao.UserDaoImpl"></bean></beans>

測試:

package com.atguigu.test;import com.atguigu.service.UserService; import com.atguigu.spring.Orders; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestBean {@Testpublic void testBean01(){//1.加載spring配置文件ApplicationContext context = new ClassPathXmlApplicationContext("bean2.xml");//2.獲取配置創建的對象UserService userService = context.getBean("userService", UserService.class);userService.add01();}}

測試結果:

注入屬性-內部bean

(1)一對多關系:部門和員工

一個部門有多個員工,一個員工屬于一個部門

部門是一,員工是多

(2)在實體類之間表示一對多關系,員工表示所屬部門,使用對象類型屬性進行表示

package com.atguigu.bean;public class Dept {private String dname;public void setDname(String dname){this.dname = dname;}@Overridepublic String toString() {return "Dept{" +"dname='" + dname + '\'' +'}';} } package com.atguigu.bean;public class Emp {private String ename;private String gender;//員工屬于某一個部門,使用對象形式表示private Dept dept;public void setDept(Dept dept) {this.dept = dept;}public void setEname(String ename){this.ename = ename;}public void setGender(String gender) {this.gender = gender;}public void add(){System.out.println(ename+" - "+gender+" - "+dept);}}

(3)在spring配置文件中進行配置

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--內部bean--><bean id = "emp" class = "com.atguigu.bean.Emp"><!--設置兩個普通屬性--><property name="ename" value="lucy"></property><property name="gender" value=""></property><!--設置對象類型屬性--><property name="dept"><bean id = "dept" class = "com.atguigu.bean.Dept"><property name="dname" value="保安部"></property></bean></property></bean></beans>

測試:

@Testpublic void testBean02(){//1.加載spring配置文件ApplicationContext context = new ClassPathXmlApplicationContext("bean3.xml");//2.獲取配置創建的對象Emp emp = context.getBean("emp", Emp.class);emp.add();}

注入屬性-級聯賦值

(1)第一種寫法:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id = "emp" class = "com.atguigu.bean.Emp"><property name="ename" value="lucy"></property><property name="gender" value=""></property><property name="dept" ref = "dept"></property></bean><bean id = "dept" class = "com.atguigu.bean.Dept"><property name="dname" value="財務部"></property></bean> </beans>

(2)第二種寫法:

該方法需要get()方法

package com.atguigu.bean;public class Emp {private String ename;private String gender;//生成dept的get方法public Dept getDept() {return dept;}//員工屬于某一個部門,使用對象形式表示private Dept dept;public void setDept(Dept dept) {this.dept = dept;}public void setEname(String ename){this.ename = ename;}public void setGender(String gender) {this.gender = gender;}public void add(){System.out.println(ename+" - "+gender+" - "+dept);}} <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id = "emp" class = "com.atguigu.bean.Emp"><property name="ename" value="lucy"></property><property name="gender" value=""></property><property name="dept" ref = "dept"></property><!--需要生成dept的get方法--><property name="dept.dname" value="技術部"></property></bean><bean id = "dept" class = "com.atguigu.bean.Dept"><property name="dname" value="財務部"></property></bean> </beans>

總結

以上是生活随笔為你收集整理的[Spring5]IOC容器_Bean管理XML方式_注入其他类型属性的全部內容,希望文章能夠幫你解決所遇到的問題。

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