Spring的两种依赖注入方式:setter注入与构造方法注入,这两种方法的不同主要就是在xml文件下对应使用property和constructor-arg属性, 例如:
property属性:<property name="id" value="123"></property>(其中name的值为原类中的属性名)
constructor-arg属性:<constructor-arg index="0" value="456"></constructor-arg>(其中index的值为0~n-1,n代表构造函数中的输入参数的数量)
1.setter方法注入
setter方法注入即是创建一个普通的JavaBean类,为需要注入的属性通过对应的setter方法即可,如:
(1)创建一个Id类:
package com.loster.li;  public class Id { 	private int id; 	private String name; 	public int getId() { 		return id; 	} 	public void setId(int id) { 		this.id = id; 	} 	public String getName() { 		return name; 	} 	public void setName(String name) { 		this.name = name; 	} } (2)创建配置文件Id_Bean.xml
 
<?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-2.5.xsd">             	<bean id="id" class="com.loster.li.Id"> 	<property name="id" value="123"></property> 	<property name="name" value="xiaoli"></property> 	</bean> </beans> (3)编写测试类IdTest.java,并运行:
package com.loster.li;  import org.springframework.context.support.ClassPathXmlApplicationContext;  public class IdTest { 	public static void main(String[] args){ 		ClassPathXmlApplicationContext context = new  				ClassPathXmlApplicationContext("com/loster/li/Id_Bean.xml"); 		 		Id id = (Id)context.getBean("id"); 		System.out.println(id.getId()); 		System.out.println(id.getName()); 	} }    
 运行结果如下: 
2.构造方法注入
(1)将上面的Id.class修改为:
package com.loster.li;  public class Id { 	private int id; 	private String name; 	public Id(int id,String name){ 		this.id = id; 		this.name = name; 	} 	public int getId() { 		return id; 	} 	public void setId(int id) { 		this.id = id; 	} 	public String getName() { 		return name; 	} 	public void setName(String name) { 		this.name = name; 	} } (2)将上面的Id_Bean.xml修改为:
<?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-2.5.xsd">             	<bean id="id" class="com.loster.li.Id"> 	<constructor-arg index="0" value="456"></constructor-arg> 	<constructor-arg index="1" value="dawang"></constructor-arg> 	</bean> </beans> (3)再次运行IdTest.java,运行结果如下:
                                                                                                                    ![]()
上一个:vue中excel导入功能
热门文章
- 「1月22日」最高速度18.7M/S,2025年V2ray/Shadowrocket/Clash/SSR每天更新免费订阅地址分享
 - 「2月2日」最高速度19.8M/S,2025年Shadowrocket/V2ray/Clash/SSR每天更新免费订阅地址分享
 - 「12月20日」最高速度22.8M/S,2024年Clash/Shadowrocket/V2ray/SSR每天更新免费节点订阅链接
 - 「11月30日」最高速度21M/S,2024年Clash/V2ray/SSR/Shadowrocket每天更新免费节点订阅链接
 - 「11月10日」最高速度20.4M/S,2024年Clash/V2ray/Shadowrocket/SSR每天更新免费节点订阅链接
 - 上海宠物领养中心真假(上海宠物领养救助站是真的吗)
 - 自己能给宠物打疫苗吗(自己给宠物打疫苗能开检疫证明吗)
 - 「12月8日」最高速度19.6M/S,2024年Clash/SSR/Shadowrocket/V2ray每天更新免费节点订阅链接
 - 什么品牌的粉底液好用?(什么品牌的粉底液好用,粉底液排行榜10强)
 - 深圳市宠物领养 深圳市宠物领养之家官网