【spring】属性注入

      spring的属性注入是bean管理中的一个非常重要的内容,它可以通过有参数的构造函数注入属性,也可以通过set方法注入属性。包括基本类型的属性注入、对象类型的属性注入和复杂类型的属性注入。

一.基本类型

有参数构造

代码实现:

public class User{

	private String username;

	public User(String username) {
		this.username = username;
	}

	public void test1(){
		System.out.println("User....."+username);
	}	
}

spring配置文件实现:

        
        
        	
        	
        

      有参数的构造函数注入属性的时候用的是标签。

set方法设置

代码实现:

public class Book {

	private String bookname;
	//set方法
	public void setBookname(String bookname) {
		this.bookname = bookname;
	}
	
	public void demobook(){
		System.out.println("book......."+bookname);
	}	
}

spring配置文件实现:

        
        
        	       	
        	
        

      使用set方法注入属性时用的是标签。

二.对象类型

      我们在项目实战中,service一般都需要调用dao,这时候就需要把dao对象注入到service中。首先我们创建UserService和UserDao两个类,并在UserService类中定义UserDao类型的属性。

public class UserService {

	//1.定义dao类型属性
	private UserDao userDao;
	//生成set方法
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}
	
	public void add(){
		System.out.println("service.........");
		//在service里面得到dao类对象,才能调用dao里面的方法
		userDao.add();
	}
}
public class UserDao {

	public void add(){
		System.out.println("dao.........");
	}
}

      在配置文件中创建userService和userDao对象,并将userDao注入到userService中。

        
        
        
        
        	        	
        	 
        

三.复杂类型

      除了上面两种类型可以注入之外,还有复杂类型属性的注入,比如数组、list、map、properties等。

public class Person {

	private String[] arrs;
	private List list;
	private Map map;
	private Properties properties;

	public void setArrs(String[] arrs) {
		this.arrs = arrs;
	}
	public void setList(List list) {
		this.list = list;
	}
	public void setMap(Map map) {
		this.map = map;
	}
	public void setProperties(Properties properties) {
		this.properties = properties;
	}
	
	public void test(){
		System.out.println("arrs:"+arrs);
		System.out.println("list:"+list);
		System.out.println("map:"+map);
		System.out.println("properties:"+properties);
	}
}

        
        	
        	
        		
        			张三
        			李四
        			王五
        		
        	
        	
        	
        		
        			Tom
        			Bob
        			Mary
        		
        	
        	
        	
        		
        			
        			
        			
        		
        	
        	
        	
        		
        			com.mysql.jdbc.Driver
        			root
        		
        	
        
      今天介绍的都是通过配置文件来实现bean管理,而我们平时经常用的是通过注解来管理bean,所以接下来将为大家介绍注解方式的bean管理。

你可能感兴趣的:(spring)