Spring介绍

来源:互联网 发布:照片转十字绣软件 编辑:程序博客网 时间:2024/06/10 10:35
1  定义:spring是一个开源的控制反转和面向切面的容器框架


   目的:为了简化企业开发,实现一个全方位的整合框架。


2 Ioc概念
  
    控制反转,是面向对象的编程法则,将程序主动权由我们教给Ico容器,创建对象和依赖对象。


3 DI概念
   
  (1) 依赖注入,由spring容器构建到依赖对象中去。
   
  (2)依赖注入的方式
    
       1 应用DI原则后,代码将更加清晰。
       
       2 实现更高的松藕合更加容易。
      
    3 构造方法的注入
   
      public  DeptService(DeptDao deptDao){


             this.deptDao=deptDao;


     }


   将DeptDao交由spring容器管理
  <bean  id="deptDao"  class="com.zhidisort.dao.DeptDao"/>
    
   将DeptService交由ioc容器管理
   <bean class="com.zhidisort.service.DeptService">


    将依赖对象注入到service
    <construtor -arg ref="deptDao"/>
    
    </bean>
   


   set属性注入
   
    public setDeptDao(DptDao deptDao){


      this.deptDao=deptDao;  
     
    }


   将DeptDao交由spring容器管理
   <bean  id="deptDao"  class="com.zhidisort.dao.DeptDao"/>
    
   将DeptService交由ioc容器管理
   <bean class="com.zhidisort.service.DeptService">


    将依赖对象注入到service
     <property  name="deptDao"  ref="deptDao"/>


   </bean>




4 bean的作用域


bean的作用域主要使用的有两种:
  
单例bean : scope="singleton"   随着容器的开启实例化对象  
 


原型bean : scope="prototype"  ,在调用时才会被实例化, 每次实例化都会创建新的实例,




5 spring-bean的生命周期


  1  inin-method="init"  指定类初始化被调用的方法。




  2  destroy-method="destroy"  指定类被销毁时调用的方法。




6  bean的普通类属性装配
   
   private  driverClass;
  
   private   url;
   
   private   username;


   private password;


   提供get set tostring 方法;


  <bean class="com.zhidisort.util.ConnectionPool"> 


   <propertry name="drviceClass"  value="com.mysql.jdbc.Drvice"
    
   <propertry  name="url"  value="jdbc:mysql://localhost:3306/company">
  
   <propertry name="username" value="root">


   <propertry name="password  value="root">


  </bean>
 
7  bean的集合属性装配




  private   List<String>  list;
   
  private  Set<Integer>   set;


  private  Map<String,String>  map;
 
  private  String[] strs;


  提供  get  set toString();方法
 
  <bean class="com.zhidisort.util.ConnectionPropertry">


    <propertry name="list">


     <list>
   
       <value>石烁好无聊</value>
    </list>


    </propertry>


    <propertry name="set">


       <set>


       <value>1234457</value>
      </set>
   </propertry>


    <propertry name="map">


       <map>
        <entry key="key1" value="value1"></entry>
      </map>
    </propertry>


   <propertry  name="strs" >
      <array>
        <value>老赵很帅</value>
      </arrey>


     </propertry>




8  bean的延迟初始化
    
   lazy-init="true" 延迟初始化
  
   lazy-init="false"  不延迟初始化




     
原创粉丝点击