Spring IoC

IOC(DI)控制反转:
    一、XML配置方式
        IOC是一种思想,对对象权的转移,由Spring IoC容器创建对象,然后将对象的使用权交出去。
        1、XML配置bean
            
            可以配置多个类型相同的对象,初始化的时候会调用多次构造方法
                
                可以指定获取对象的优先级,primary="true",这样如果通过类型获取,会优先匹配到一个对象
                    
            
        从容器中获取bean
            根据id
                
            根据name
                
            id和name的区别
                配置
                    
  id是唯一的,不会被分割  
  id="p1,p2,p3",表示为一个id
  name可以配置多个,会被分割
 
 name="person1,person2",表示会被拆分为2个name属性【拆分会根据',', ';', ' '】
 根据类型
  
 注意,如果注入了两个类型相同的对象,只通过类型获取会报错               
我们可以使用name或者id,加上类型的重载方法来获取唯一的对象
 

也可以如上述,在<bean>标签里加上primary="true",会优先获取这个bean对象。

2、工厂注入
            静态工厂
                
                
                
                                            
            动态工厂
                简化的动态工厂
                
                                                                          
        3、属性注入【DI】
            给对象中的属性赋值
            构造注入
                首先必须要提供对应的构造方法
                    
                配置
                    根据属性名称赋值
                        
                    根据属性下标赋值
                        
                结果
                    
                简化构造注入
                    首先引入对应的名称空间
                        
                    
            4、设值注入
                通过set方法注入
                    
                简化
                    首先引入对应的名称空间
                        
                    
            5、其他注入
                均有get/set方法

                  
                    对对象Cat的赋值

                   
                            
                   
                   
                      
                        
                    数组类型
                        
                        
                          
                    对象集合
                        
                                                     
                        
                    Map集合
                        
                      
                       
                    Properties
                        
                        
                                                      
   二、Java配置
        
        
        根据类型获取


            也可以指定名称,默认是方法名
                自定义name
                  

             
         结果:       
        
        可以直接在java类里做初始化赋值操作,set方法设值、无参/构造方法赋值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值