详解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装配内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • spring在IoC容器中装配Bean详解

    1.Spring配置概述 1.1.概述 Spring容器从xml配置.java注解.spring注解中读取bean配置信息,形成bean定义注册表: 根据bean定义注册表实例化bean: 将bean实例放入bean缓存池: 应用程序使用bean. 1.2.基于xml的配置 (1)xml文件概述 xmlns------默认命名空间 xmlns:xsi-------标准命名空间,用于指定自定义命名空间的schema文件 xmlns:xxx="aaaaa"-------自定义命名空间,xx

  • 基于XML配置Spring的自动装配过程解析

    一.了解Spring自动装配的方式 采用传统的XML方式配置Bean组件的关键代码如下所示 <bean id="userMapper" class="edu.cn.dao.UserMapperImpl"> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean> <bean id="userSer

  • Spring注解实现Bean自动装配示例详解

    何为自动装配 自动装配是 Spring 满足 bean 依赖的一种方式. 在使用 Spring 配置 bean 时,我们都要给配置的 bean 的属性设置一个值,如果不手动设置则都是空.而自动的好处就在于,我们不用手动去设置一个值,spring 会在上下文中自动寻找并装配合适的值. 本文主要介绍了Spring注解Bean自动装配的相关内容,下面话不多少了,来一起看看详细的介绍吧 使用须知: 1.导入约束:context约束 2.配置注解的支持: context:annotation-config

  • spring boot中的条件装配bean的实现

    条件装配 从Spring Framework 3.1开始,允许在Bean装配时增加前置条件判断. 啥是条件装配 在bean装配前的条件判断.比如@Profile(是在spring3.1中引入),@Contditional(spring4.0中引入) 实现方式:注解方式,编程方式. 假设我们现在有一个多数据求和计算的小需求,定义两种方式Java7和Java8,然后使用条件装配的方式分别装配不同的bean. 首先我们定义一个接口 public interface CalculateService {

  • Spring自动装配Bean实现过程详解

    这篇文章主要介绍了Spring自动装配Bean实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 要使用自动装配,就需要配置 <bean> 元素的 autowire 属性.autowire 属性有五个值,具体说明如表 1 所示. 表 1 autowire 的属性和作用 名称 说明 byName 根据 Property 的 name 自动装配,如果一个 Bean 的 name 和另一个 Bean 中的 Property 的 name 相

  • spring装配bean的3种方式总结

    前言 这段时间在学习Spring,依赖注入DI和面向切面编程AOP是Spring框架最核心的部分.这次主要是总结依赖注入的bean的装配方式. 什么是依赖注入呢?也可以称为控制反转,简单的来说,一般完成稍微复杂的业务逻辑,可能需要多个类,会出现有些类要引用其他类的实例,也可以称为依赖其他类.传统的方法就是直接引用那个类对象作为自己的一个属性,但如果我们每次创建这个类的对象时,都会创建依赖的类的对象,还有如果那个类将来可能不用了,还需要到这个类去删除这个对象,那破坏了代码的复用性和导致高度耦合!

  • Spring IOC装配Bean过程解析

    Spring的依赖注入 Spring主要支持两种依赖注入方式,分别是属性注入和构造函数注入.同时也支持工厂方法注入方式. 属性注入 属性注入的方式非常简单,即指通过setXxx()方法注入Bean的属性值或依赖对象.如下实例 编写User类 public class User { private String username; private String address; public User() { } public User(String username, String addres

  • Spring装配Bean教程之XML安装配置bean详解

    前言 众所周知在Spring刚出现的时候,XML是描述配置的主要方式,在Spring的名义下,我们创建了无数行XML代码.在一定程度上,Spring成为了XML的同义词. 现在随着强大的自动化配置和Java代码的配置出现,XML不再是唯一选择,也不应该是首选,学习XML配置,更多用于维护已有的XML的配置.下面话不多说了,来一起看看详细的介绍吧. 创建XML配置规范 在使用XML配置前,需要创建一个新的配置规范,就像JavaConfig需要我们创建带有 @Configuration注解的类,而在

  • sersync2 完全安装配置说明(二) 可选功能与xml高级配置

    XML文件说明 sersync可选功能是通过xml配置文件来实现的,基本配置文件如下: 复制代码 代码如下: <?xml version="1.0" encoding="ISO-8859-1"?> <head version="2.5"> <host hostip="localhost" port="8008"></host> <filter start

  • spring如何使用xml装配bean

    这篇文章主要介绍了spring如何使用xml装配bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用XML装配bean,在bean中调用另一个bean方法,首先建一个Dog类和一个Cat类 package soundsystem; public class Dog { private String Cry;//叫声 //用setter方法注入 public void setCry(String cry) { Cry = cry; } /

  • 在Spring中自动装配Bean的属性

    Spring的最基本的能力就是DI,即依赖注入,或控制反转,它可以为Bean注入其依赖的其他Bean. 一个Bean依赖其他Bean一般是通过在Bean中定义其他Bean的成员变量的方式来实现的,那么,Spring的DI也就表现为给Bean的属性自动注入值. 这一般分为以下其中情况. 1,自动注入基本类型. 自动注入基本类型,即当一个Bean有一些基本类型的属性时,例如String,double,int等类型的属性时,我们可以在xml中自动为这些属性注入值.虽然这也成为自动注入的一种,但严格来讲

随机推荐