1.Spring是一个分层的,一站式的轻量级开源框架


2.它致力于提供一种方法管理业务对象,使JavaEE的开发更方便快捷.


3.Spring不是仅仅专注于某一层的开发,而是贯穿应用于web层/业务层及持久层,与struts2/SpringMVC/hibernate等框架进行无缝整合,


并对一些API(JDBC/JavaMail/远程调用等)进行了封装,降低了这些API的使用难度


4.继承Junit4,方便程序测试,@runwith(SpringJunit...)


5.对支持声明式事物管理@transational,只需通过配置就可以完成对事物的管理,无需动手编程


6.对AOP( Aspect Oriented Programming )编程的支持,Spring提供面向切面编程,方便实现对程序进行权限拦截/运行监控等功能


7.Spring 就是一个大工厂,可以将所有对象创建(IOC)和依赖关系维护(DI),交给Spring管理


IOC(Inversion of Controller 控制反转)
 

     
      
     
     IOC 
     
     控制反转,是指对象实例化权利由
     
     spring
     
     容器来管理
     
     

    
    
    
    
     
     实现原理: 工厂+反射+xml配置文件
    
    
    
    底层是通过BeanFactory的子接口ApplicationContext接口的实现类
    
    ClassPathXmlApplicaitonContex
    
    从配置文件applicationContext.xml文件
   
   
   
   
    
    中读取要创建的类名,
    
    再通过它的方法
    
    的getBean("..")
    
    反射的方式,创建出类,真正意义上达到解耦合的目的.
   
   
   
   
    
    DI(dependency injection 依赖注入)
 

     
     DI 依赖注入 在spring创建对象的过程中,对象所依赖的属性通过配置注入对象中。
     
       
     
     

    
    
    
    
     
     实现原理:
     
     在
     
     spring
     
     框架负责创建
     
     Bean
     
     对象时,动态将依赖对象注入到
     
     Bean
     
     组件。