SSM第一天 springDI

SpringDI(Dependency Injection)

DI作用:因为IOC解除了程序间的依赖关系,所以DI就是weil维护程序间的依赖关系,称:依赖注入


能注入的三类数据类型:

  • 基本类型和String
  • 其他bean类型(在配置文件中或者注解配置过的bean)
  • 复杂类型/集合类型

注入的三种方式:


使用构造函数注入

优势: 可以实现,在获取某对象时,注入数据时必须的操作,否则对象无法创建成功

弊端: 改变了bean对象的实例化方式,导致我们在创建对象时,如果用不到这些属性,也必须提供


        
        
        


  • 参数说明:
    • 一个constructor-arg标签代表一个依赖

    • constructor-arg属性:

      • type 用于指定要注入的数据类型,该数据类型也是构造函数中某个或某些参数的类型
      • index 用于指定要注入的数据,给构造函数中指定索引位置的参数辅助,索引从0开始
      • name 用于指定给构造函数中指定名称的函数辅助(常用)
      • 以上三个都是用于指定给构造函数中哪个参数赋值
      • value 用于提供基本类型和String类型的数据
  • ref 用于指定其他bean类型数据,即在spring的IOC核心容器中配置的bean对象

  • 使用set方法注入(常用)

    优势: 创建对象时没有明确限制,可以直接使用默认构造函数

    弊端: 无法实现让某个属性必须有值,则获取对象是有可能set方法没有执行

    
    	
    	
    	
    
    
    
    • 参数说明:
      • 一个property标签代表一个依赖
      • property属性:
        • name 用于指定给构造函数中指定名称的函数辅助(常用)
        • value 用于提供基本类型和String类型的数据x
        • ref 用于指定其他bean类型数据,即在spring的IOC核心容器中配置的bean对象
  • 使用注解注入

复杂类型注入

  • 常用:List,Array,Set,Map,Propertise

  • list,set,array标签可以混用,map和props标签可以混用,即结构相同,标签可以互换,所以,只需要记住两个标签即可


    
        
            213
            2513
            43
            2613
        
    
    
        
            324
            324534
            25654
        
    
	
		
			23
			234
			235
			236
		
	
    
        
            
            
            
            	3453
            
        
    
    
        
            fsdf
            fsd
            fsd
        
    

你可能感兴趣的:(SSM第一天 springDI)