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
组件。