菠菜网站建设条件/百度高级搜索首页
1、什么是Spring?
- Spring是最受欢迎的企业级Java应用程序开发框架,使用它创建性能好、易于测试、可重用的代码。
- Spring是一种轻量级的框架。
- Spring框架的核心特性是开发任何Java应用程序,其目标是使得J2EE开发变得更容易,通过启用基于POJO模型来编程实践。
2、Spring的三层架构
- 表现层:web层,其常见的设计模型为MVC(Moudle、View、Controller)
- 业务层:service层
- 持久层:dao层
3、Spring的优良特性
- 非侵入式: 不依赖Spring的API。
- 控制反转: IOC——Inversion of Control,是指Spring来控制创建新对象。
- 依赖注入: DI——Dependency Injection,通过配置赋值,不需调用set方法设置。
- 面向切面编程: AOP——Aspect Oriented Programming。
- 容器: Spring是一个容器,它包含并且管理应用对象的生命周期。
- 组件化: Spring实现了使用简单的组件配置组合成一个复杂的应用。在Spring中使用XML和Java注解组合这些对象。
- 一站式: IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库。
4、Spring框架的优点
- 可以使开发人员使用POJOs开发企业级的应用程序,可以选择使用一个稳定的应用程序服务器如Tomcat或其它的应用程序服务器。
- Spring在一个单元模式中是有组织的,即使包和类的数量非常大,只需要热加载需要的工作包。
- Spring容器能够加载更多的优秀开源框架技术。
- 测试更容易,使用JavaBean-style POJOs,使用依赖注入注入测试数据。
- Spring的web框架是一个MVC框架,MVC模式导致应用程序的不同方面分离,同时提供这些元素之间的松散耦合。
- Model负责封装了应用程序数据,通常它们由POJO类组成。
- View负责渲染模型数据,一般来说它生成客户端浏览器可以解释HTML输出。
- Controller负责处理用户请求并构建适当的模型,并传递给视图进行渲染。
- Spring封装了难度较高的JavaEE的API。
- 轻量级的IOC容器
- Spring提供一直的事务管理接口,可向下扩展到本地事务(使用一个单一数据库)并扩展到全局事务(如JTA)
5、依赖注入DI
依赖注入是控制反转的一种,当编写一个复杂的Java应用程序时,应用程序应该尽可能独立于其它java类,增加这些类可重用性。当单元测试时,可以使它们独立于其他类进行测试。
依赖注入是什么?
依赖: 是两个类之间相关联
注入: IOC携带类B的信息赋值给类A
如何实现依赖注入?
1、通过向构造函数传参实现
2、通过使用setter方法修改参数
6、面向切面编程AOP
- 一个程序中跨越多个点的功能被称为横切关注点,这些横切关注点在概念上独立于业务逻辑,例如日志,声明事务,缓存等。
- 在OOP中模块化的关键单元是类,而AOP中模块化的关键单元是方面。
- AOP提供面向方面的程序设计,可以定义诸如方法拦截器和切入点等,从而实使实现功能的代码彻底解耦。
7、Spring框架的特点
- 方便解耦,简化开发: 将所有对象的创建和依赖关系的维护交给Spring管理。
- 方便集成框架: Spring不排斥其它框架,内部提供了Struts2,Hibernate,MyBatis等框架的支持。
- 降低J2EE API的使用难度: Spring对JDBC、JavaMail、远程调用等API进行封装。
- 方便测试: Spring支持JUnit4,可以方便通过注释测试Spring程序。
- AOP编程的支持: Spring提供面向切面编程,可以实现对程序进行权限拦截和运行监控等功能。
- 声明式事务的支持: 只需要通过配置完成对事务的管理。