- A 表现层 web层 MVC是表现层的一个设计模式
- B 业务层 service层
- C 持久层 dao层
- 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API
- 控制反转:IOC-Inversion of Control,指的是将对象的创建权交给Spring去创建。使用Spring之前,对象的创建都是由我们自己在代码中new创建,而使用Spring之后,对象的创建就交给了Spring框架。
- 依赖注入:DI-Dependency Injection,是指依赖的对象不需要手动调用setXX方法去设置,而是通过配置赋值。
- 面向切面编程:Aspect Oriented Programming-Aop
- 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期
- 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在Spring中可以使用XML和java注解组合这些对象。
- 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring自身也提供了表现层的SpringMVC和持久层的SpringJDBC)
核心容器由spring-core,spring-beans,spring-context,spring-context-support和spring-expression等模块组成,细节如下:
- spring-core:提供了框架的基本组成部分,包括IOC和依赖注入功能。
- spring-beans:提供了BeanFactory,工厂模式的微妙实现,它移除了编码式单例的需要,并且把配置和依赖从实际编码逻辑中解耦。
- context:建立在由core和beans模块的基础上建立起来的,它以一种类似于JNDI注册的方式访问对象。Context模块继承自Bean模块,并且添加了国际化、事件传播、资源加载和透明地创建上下文(比如:通过Servlet容器)等功能。Context模块也支持java ee的功能,比如EJB、JMX和远程调用等。ApplicationContext接口是Context模块的焦点。Spring-context-support提供了对第三方集成到Spring上下文的支持,比如缓存(EhCache、Guava、JCache)、邮件(JavaMail)、调度(CommonJ,Quartz)、模板引擎(FreeMarker,JasperReports,Velocity)等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)