Spring的特性的列述
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 控制反转,是指对象实例化权利由spring容器来管理
实现原理: 工厂+反射+xml配置文件
底层是通过BeanFactory的子接口ApplicationContext接口的实现类ClassPathXmlApplicaitonContex从配置文件applicationContext.xml文件
中读取要创建的类名,再通过它的方法的getBean(“..”)反射的方式,创建出类,真正意义上达到解耦合的目的. - DI(dependency injection 依赖注入)
DI 依赖注入 在spring创建对象的过程中,对象所依赖的属性通过配置注入对象中。
实现原理:在spring框架负责创建Bean对象时,动态将依赖对象注入到Bean组件。