基于XML装配Bean 详解SpringBean基于XML的装配
Hello World.! 人气:0想了解详解SpringBean基于XML的装配的相关内容吗,Hello World.!在本文为您仔细讲解基于XML装配Bean的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:SpringBean装配,基于XML装配Bean,下面大家一起来学习吧。
1.设值注入:通过反射调用setXxx注入属性值
package com.itheima.assemble; import java.util.List; public class User { private String username; private Integer password; private List<String> list; /** * 设值注入 * 提供默认空参构造方法 ; * 为所有属性提供setter方法。 */ public User() { super(); } public void setUsername(String username) { this.username = username; } public void setPassword(Integer password) { this.password = password; } public void setList(List<String> list) { this.list = list; } @Override public String toString() { return "User [username=" + username + ", password=" + password + ", list=" + list + "]"; } }
package com.itheima.assemble; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class XmlBeanAssembleTest { public static void main(String[] args) { String xmlPath = "com/itheima/assemble/beans5.xml"; ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath); // 构造方式输出结果 System.out.println(applicationContext.getBean("user2")); } }
<?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-4.3.xsd"> <!--2.使用设值注入方式装配User实例 --> <bean id="user2" class="com.itheima.assemble.User"> <property name="username" value="张三"></property> <property name="password" value="654321"></property> <!-- 注入list集合 --> <property name="list"> <list> <value>"值1"</value> <value>"值2"</value> </list> </property> </bean> </beans>
2.构造注入:用+其value属性注入属性值
package com.itheima.assemble; import java.util.List; public class User { private String username; private Integer password; private List<String> list; /** * 用构造注入 * 创建带所有参数的有参构造方法。 */ public User(String username, Integer password, List<String> list) { super(); this.username = username; this.password = password; this.list = list; } @Override public String toString() { return "User [username=" + username + ", password=" + password + ", list=" + list + "]"; } }
package com.itheima.assemble; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class XmlBeanAssembleTest { public static void main(String[] args) { String xmlPath = "com/itheima/assemble/beans5.xml"; ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath); // 构造方式输出结果 System.out.println(applicationContext.getBean("user1")); } }
<?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-4.3.xsd"> <!--1.使用构造注入方式装配User实例user1,装配后user1则内含多个注入数据的属性 --> <bean id="user1" class="com.itheima.assemble.User"> <constructor-arg index="0" value="tom" /><!-- 属性1,即username --> <constructor-arg index="1" value="123456" /> <!-- 属性2,即password --> <constructor-arg index="2"> <!-- 属性3 --> <list> <value>"值1"</value> <value>"值2"</value> </list> </constructor-arg> </bean> </beans>
加载全部内容