栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring的xml配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring的xml配置

Spring的xml依赖注入

文章目录
  • Spring的xml依赖注入
    • 1.Bean依赖注入方式
      • 1.1 set注入
      • 1.2 构造器注入
    • 2.Bean依赖注入的数据类型
      • 2.1 普通数据的注入
      • 2.2 集合数据类型(List < String >)的注入
      • 2.3 集合类型(List< Ref >)的注入
      • 2.4集合数据类型( Map

1.Bean依赖注入方式 1.1 set注入

1.在UserServiceImpl中添加setUserDao方法

public class UserServiceImpl implements UserService {    
	private UserDao userDao;    
	//set方法
	public void setUserDao(UserDao userDao) {  
      this.userDao = userDao;    
      }    
      @Override    
   public void save() {
       userDao.save(); 
   }
}

2.配置Spring容器调用set方法进行注入

  • property标签,值value,引用ref

    
    


3.也可以使用p命名空间注入
P命名空间注入本质也是set方法注入,但比起上述的set方法注入更加方便,主要体现在配置文件中


xmlns:p="http://www.springframework.org/schema/p"



>
1.2 构造器注入

1.在UserServiceImpl中创建有参数构造方法和无参数构造方法

public class UserServiceImpl implements UserService {    
	@Override    
	public void save() {       
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");        	
		UserDao userDao = (UserDao) applicationContext.getBean("userDao");        
		userDao.save();    
	}
}

2.配置Spring容器调用有参构造时进行注入


      
     

2.Bean依赖注入的数据类型

上面的操作,都是注入的引用Bean,除了对象的引用可以注入,普通数据类型,集合等都可以在容器中进行注入。

注入数据的三种数据类型

  • 普通数据类型
  • 引用数据类型
  • 集合数据类型

其中引用数据类型,此处就不再赘述了,之前的操作都是对UserDao对象的引用进行注入的,下面将以set方法注入为例,演示普通数据类型和集合数据类型的注入。

2.1 普通数据的注入

1.普通数据类型

------------UserDaoImpl Bean--------------

public class UserDaoImpl implements UserDao {    
   private String company;    
   private int age;    
   public void setCompany(String company) {       
        this.company = company;    
  }
  public void setAge(int age) { 
         this.age = age;    
 }    
 public void save() {        
    System.out.println(company+"==="+age);  
    System.out.println("UserDao save method running....");    
  }
}

---------------XML---------------
     
        
    


2.2 集合数据类型(List < String >)的注入
------------UserDaoImpl Bean--------------
public class UserDaoImpl implements UserDao {    
	private List strList;    
	public void setStrList(List strList) {     
  	 this.strList = strList;    }    
   	public void save() {        
  	 System.out.println(strList);        
   	System.out.println("UserDao save method running...."); 
   }
}

------------------xml---------------------
    	
	        
		            
			aaa  
			bbb
			ccc  
	     
    


2.3 集合类型(List< Ref >)的注入
------------UserDaoImpl------------------------

public class UserDaoImpl implements UserDao {    
	private List userList;    
	public void setUserList(List userList) {        		
		this.userList = userList;    
	}    
	public void save() {       
		 System.out.println(userList);        	
		 System.out.println("UserDao save method running....");    
    }
}

----------------xml------------------------


    
	        
		            
			            
			            
			            
			        
		    
	


2.4集合数据类型( Map )的注入
----------------UserDaoImpl----------------------

public class UserDaoImpl implements UserDao {    
	private Map userMap;    
	public void setUserMap(Map userMap) {        
		this.userMap = userMap;    
	}
	public void save() {        
		System.out.println(userMap);        	
		System.out.println("UserDao save method running....");    
	}
}


----------------xml-------------------------


    
	        
		            
			            
			        
		    
	


2.5 集合数据类型(Properties)的注入
----------------UserDaoImpl--------------------------

public class UserDaoImpl implements UserDao {    
	private Properties properties;    
	public void setProperties(Properties properties) {        
		this.properties = properties;    
	}    
	public void save() {        
		System.out.println(properties);        
		System.out.println("UserDao save method running....");    
	}
}

-------------------xml--------------------------
    
	        
		            
			aaa            
			bbb            
			ccc        
		    
	



3.引入其他配置文件,分模块开发

实际开发中,Spring的配置内容非常多,这就导致Spring配置很繁杂且体积很大,所以,可以将部分配置拆解到其他配置文件中,而在Spring主配置文件通过import标签进行加载.



4.总结
标签
    id属性:在容器中Bean实例的唯一标识,不允许重复
    class属性:要实例化的Bean的全限定名
    scope属性:Bean的作用范围,常用是Singleton(默认)和prototype
    标签:属性注入
        name属性:属性名称
        value属性:注入的普通属性值
        ref属性:注入的对象引用值
        标签
        标签
        标签
    标签
标签:导入其他的Spring的分文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318883.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号