1.spring的简介
Spring是一个分层的 full-stack(一站式)轻量级框架,以Ioc(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切片编程)为内核,使用简单的JavaBean来完成以前只能由EJB(Enterprise Java Beans)完成的工作,取代了臃肿、低效的EJB。
Spring致力于JavaEE应用各层的解决方案,是企业应用一站式开发很好的选择,在表现层它提供了Spring MVC以及整合Struts的功能,在业务逻辑层可以管理事务、记录日志等,在持久层可以整合Hibernate、Mybatis等框架。虽然Spring贯穿表现层、业务逻辑层、持久层,但Spring并不是要取代那些已有的优秀框架,而是可以高度开放的与其它优秀框架无缝整合。
2.Spring的优势
1、非侵入式设计
Spring是一种非侵入式(no-invasive)框架,它可以使应用程序代码对框架的依赖最小化。
2、方便解耦、简化开发
Spring是一个大工厂,可以将所有 对象的创建、依赖关系的维护 交给Spring容器管理,大大降低了组建之间的耦合。
3、支持AOP
允许将一些通用任务,比如安全、事务、日志等,进行集中式管理,从而提高程序的复用性。
4、支持声明式事务处理
通过配置就可以完成对事务的管理,无需手动编程。
5、方便整合其它优秀框架
Spring可以与大多数框架无缝整合。
6、测试方便
Spring支持Junit4,可通过注解测试程序,很方便。
7、降低了使用JavaEE API的难度
Spring对JavaEE开发中难用的一些API进行了封装,降低了这些API的使用难度。
3.Spring的体系结构
4.spring的核心功能
控制反转(ioc)
由手动的new变成了Spring框架通过反射机制实例化
依赖注入(DI)
如果一个类中的某个属性是另一个类,该属性无需手动赋值,通过Spring的配置文件或者注解,通过Spring框架可以实现直接注入属性
IOC & DI 关系
ioc就是容器,di就是注入
面向切面编程(AOP)
不修改原始执行代码逻辑,由程序动态地执行某些额外的功能,这就叫做面向切面编程,那个被监测的执行方法,称呼为切入点。