详解SpringBean基于XML的装配
更新时间:2021年05月18日 09:03:25 作者:Hello World.!
Bean的装配可以理解为依赖关系注入,Bean的装配方式也就是Bean 的依赖注入方式.Spring容器支持多种形式的Bean的装配方式,如基于XML的Bean装配,基于Annotation的Bean装配和自动装配等.本文就带大家了解SpringBean基于XML的装配,需要的朋友可以参考下
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>
到此这篇关于详解SpringBean基于XML的装配的文章就介绍到这了,更多相关SpringBean装配内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Springboot工具类FileCopyUtils使用教程
这篇文章主要介绍了Springboot内置的工具类之FileCopyUtils的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧2022-12-12Springboot详解整合SpringSecurity实现全过程
Spring Security基于Spring开发,项目中如果使用Springboot作为基础,配合Spring Security做权限更加方便,而Shiro需要和Spring进行整合开发。因此作为spring全家桶中的Spring Security在java领域很常用2022-07-07
最新评论