Spring 注入方法

1.Spring 有3中注入的方式.  

  

1.1、构造器注入;

1.2、setter注入(最好);

1.3、注解方式注入

注入:就是给类的属性赋值

 

2.setter注入:先配置xml文件,spring框架启动后读取xml文件,通过bean的setter()方法完成属性赋值

例子 ;

java bean:

public User(String name,Integer age) 
  { String name;
     String age;
 
  ..............

}

 

 

xml配置文件:

 <bean name="user" class="com.mr.user.User">

           <property name="name" value="小强" />
           <property name="age" value="20" />

 </bean>

 

class表示要实例化的类名,<property>标签中name是属性名  value是属性的值

 

3.构造器注入:

java bean:

public User(String name,Integer age) 
  { String name;
     String age;
 
  ..............

}

 

xml配置文件:

<bean name="user" class="com.mr.user.User">
                  <constructor-arg value="小强"/>  
          
                  <constructor-arg value="20" /> 
</bean>

 <constructor-arg>标签为构造器传递参数,默认是按照顺序来传递参数

</constructor-arg>有2个属性type 和index>

type:对构造器的参数类型进行匹配,然后赋值

index,指定为构造器的哪一个属性赋值

 

4. spring 中id 和name的区别

  

<bean name="k" id="Hello">
   .......
<bean>

 
相同点:都可以获得bean对象
不同点:id唯一,name可重复(比如不同的bean可能会有同样的name)
建议:尽量使用id

 

5.setter注入代码演示

5.1 代码结构

 

5.2 Main.java

package test1;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

	static BeanFactory beanFactory=null;
	
	static{
		beanFactory=new ClassPathXmlApplicationContext("test1/test.xml");
		
	}
	
	
	public static void  main(String [] args){

		Person a=beanFactory.getBean("Person",Person.class);
		a.personInfo();

	}

}

 

 

5.3Person.java

package test1;

public class Person {
  String name;
  Integer age;
  
  
	public Person() {
	super();
}

	public Person(String name,Integer age)
	{
		this.name=name;
		this.age=age;
	}
	
	public void personInfo()
	{
		System.out.println("我的名字是"+name);
		System.out.println("我的年龄是"+age.toString());
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}
	
	
}

 
 5.4 test.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-3.0.xsd">
	
	<bean id="Person" class="test1.Person">
	  <property name="name" value="张三"/>
	  <property name="age" value="20"/>
	 </bean>
	 	
</beans>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值