文章簡介:
利用bean的屬性賦值,通過setXXX(),p命名空間,構造器,給屬性賦值,
利用bean的屬性賦值,給List,Map 集合賦值,
物體類必須提供get/set/無參構造器,因為Spring是通過反射注入
本專案基于Maven創建,

匯入pom依賴
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.7.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.7.RELEASE</version> <scope>test</scope> </dependency>pom依賴
創建ApplicationContext.xml (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" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <!--p名稱命名空間--> <bean id="student6" class="com.charon.enty.Student" p:stuName="花花" p:stuAge="18" p:stuGender="女" p:stuDept="英語"> </bean> <!--通過有參構造方法給bean的屬性賦值--> <bean id="student1" class="com.charon.enty.Student"> <property name="stuName" value="張三"/> <property name="stuAge" value="19"/> <property name="stuDept" value="數學"/> <property name="stuGender" value="男"/> </bean> <!--無參構造給bean賦值--> <bean id="student2" class="com.charon.enty.Student"></bean> <!-- Spring 自動匹配合適的構造器; 通過索引指定引數的位置; 通過型別區分多載的構造器, --> <bean id="student3" class="com.charon.enty.Student"> <constructor-arg name="stuName" value="Lucy" index="0" type="java.lang.String"/> <constructor-arg name="stuAge" value="18" index="1" type="java.lang.Integer"/> <constructor-arg name="stuGender" value="女" index="2" type="java.lang.String"/> </bean> <bean id="accout" class="com.charon.enty.Acount"> <constructor-arg name="idCard" value="88888888" type="java.lang.String"/> <constructor-arg name="location" type="java.lang.String" value="中國"/> </bean> <!--應用外部bean--> <bean id="student4" class="com.charon.enty.Student"> <constructor-arg name="stuName" value="娜娜"/> <constructor-arg name="stuAge" value="18"/> <constructor-arg name="stuGender" value="女"/> <constructor-arg name="acount" ref="accout"/> </bean> <!--給list集合賦值--> <bean id="list1" class="com.charon.enty.Acount"> <property name="hobby"> <list> <value type="java.lang.String">足球</value> <value type="java.lang.String">籃球</value> </list> </property> </bean> <!--給Map集合賦值--> <bean id="account3" class="com.charon.enty.Acount"> <property name="hashMap"> <map> <entry> <key> <value>name</value> </key> <value>小芳</value> </entry> <entry> <key> <value>age</value> </key> <value>18</value> </entry> </map> </property> </bean> </beans>ApplicationContext
創建Acount物體類
package com.charon.enty; import java.util.HashMap; import java.util.List; /** * @Description TODO * @Author Charon <[email protected]> * @create 2020-11-06-8:32 * @Version 1.0.0 */ public class Acount { private String idCard; private String location; private List<String> hobby; private HashMap<String,String> hashMap; public HashMap<String, String> getHashMap() { return hashMap; } public void setHashMap(HashMap<String, String> hashMap) { this.hashMap = hashMap; } public List<String> getHobby() { return hobby; } public void setHobby(List<String> hobby) { this.hobby = hobby; } public String getIdCard() { return idCard; } public void setIdCard(String idCard) { this.idCard = idCard; } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } public Acount() { } public Acount(String idCard, String location) { this.idCard = idCard; this.location = location; } public Acount(String idCard, String location, List<String> hobby) { this.idCard = idCard; this.location = location; this.hobby = hobby; } }Acount
創建物體類Student 類
package com.charon.enty; /** * @Description TODO * @Author Charon <[email protected]> * @create 2020-11-06-0:39 * @Version 1.0.0 */ public class Student { private String stuName; private Integer stuAge; private String stuDept; private String stuGender; private Acount acount; public Acount getAcount() { return acount; } public void setAcount(Acount acount) { this.acount = acount; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public Integer getStuAge() { return stuAge; } public void setStuAge(Integer stuAge) { this.stuAge = stuAge; } public String getStuDept() { return stuDept; } public void setStuDept(String stuDept) { this.stuDept = stuDept; } public String getStuGender() { return stuGender; } public void setStuGender(String stuGender) { this.stuGender = stuGender; } public Student(String stuName, Integer stuAge, String stuGender) { this.stuName = stuName; this.stuAge = stuAge; this.stuGender = stuGender; } public Student(String stuName, Integer stuAge, String stuDept, String stuGender) { this.stuName = stuName; this.stuAge = stuAge; this.stuDept = stuDept; this.stuGender = stuGender; } public Student(String stuName, Integer stuAge, String stuGender, Acount acount) { this.stuName = stuName; this.stuAge = stuAge; this.stuGender = stuGender; this.acount = acount; } public Student() { } }Student
創建測驗類StudentTests
package com.test; import com.charon.enty.Acount; import com.charon.enty.Student; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import java.util.HashMap; /** * @Description TODO * @Author Charon <[email protected]> * @create 2020-11-06-0:45 * @Version 1.0.0 */ public class StudentTest { ApplicationContext applicationContext; @Before public void before(){ //定義Spring組態檔的位置 String xmlPath = "ApplicationContext.xml"; //初始化Spring組態檔,加載組態檔 applicationContext = new ClassPathXmlApplicationContext(xmlPath); } /** * 測驗通過有參構造給bean賦值 */ @Test public void test(){ Student student = (Student) applicationContext.getBean("student1"); System.out.println(student.getStuName()); } /** * 測驗通過有參構造給bean賦值 */ @Test public void test1(){ Student student = (Student) applicationContext.getBean("student2"); student.setStuName("李四"); System.out.println(student.getStuName()); } /** * Spring 自動匹配合適的構造器; */ @Test public void test3(){ Student student3 = (Student)applicationContext.getBean("student3"); System.out.println(student3.getStuName()); System.out.println(student3.getStuAge()); System.out.println(student3.getStuDept()); } /** * 測驗參考外部bean給物件賦值 */ @Test public void test4(){ Student student = (Student) applicationContext.getBean("student4"); System.out.println(student.getStuName()); System.out.println(student.getAcount().getIdCard()); } /** * 測驗給List集合賦值結果 */ @Test public void test5(){ Acount acount = (Acount)applicationContext.getBean("list1"); for (int i = 0; i < acount.getHobby().size(); i++) { System.out.println(acount.getHobby().get(i)); } } /** * 測驗給Map集合賦值結果 */ @Test public void test6(){ Acount acount = (Acount)applicationContext.getBean("account3"); HashMap<String, String> hashMap = acount.getHashMap(); System.out.println(hashMap.get("name")); System.out.println(hashMap.get("age")); } }StudntTest
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/204498.html
標籤:Java
