济南优化seo网站建设学校 网站 建设 目的

当前位置: 首页 > news >正文

济南优化seo网站建设,学校 网站 建设 目的,衡水做网站的地方,传动设备 技术支持 东莞网站建设目录标题前言一、Spring带给我们什么二、Spring体系结构三、Spring4.0新特性核心容器的增强泛型依赖注入Map依赖注入Lazy延迟依赖注入List注入Conditional 注解CGLIB 代理类增强其他四、Spring 子项目总结前言 汇总#xff1a;《精通Spring4.x 企业应用开发实战》 一、Spring带… 目录标题前言一、Spring带给我们什么二、Spring体系结构三、Spring4.0新特性核心容器的增强泛型依赖注入Map依赖注入Lazy延迟依赖注入List注入Conditional 注解CGLIB 代理类增强其他四、Spring 子项目总结前言 汇总《精通Spring4.x 企业应用开发实战》 一、Spring带给我们什么 方便解耦简化开发。通过 Spring 提供的 IoC 容器用户可以将对象之间的依赖关系交由 Spring 进行控制避免硬编码所造成的过度程序耦合。有了 Spring, 用户不必再为单实例模式类、属性文件解析等这些底层的需求编写代码可以更专注于上层的应用。 AOP 编程的支持。通过 Spring 提供的 AOP 功能方便进行面向切面的编程很多不容易用传统OOP实现的功能可以通过 AOP 轻松应对。声明式事务的支持。在 Spring 中用户可以从单调烦闷的事务管理代码中解脱出来通过声明的方式灵活地进行事务管理提高开发效率和质量。方便程序的测试。可以用非容器依赖的编程方式进行几乎所有的测试工作。在Spring 里测试不再是昂贵的操作而是随手可做的事情。方便集成各种优秀框架。Spring 不排斥各种优秀的开源框架相反Spring 可以降低各种框架的使用难度。Spring 提供了对各种优秀框架如 Struts、Hibernate、 Hessian、 Quartz 等的直接支持。降低 Java EE API 的使用难度。Spring 对很多难用的 Java EE API如JDBC、JavaMail、远程调用等提供了一个薄层封装通过 Spring 的简易封装这些Java EE API 的使用难度大大降低。Java 源码是经典的学习范例。Spring 的源码设计精妙、结构清晰、匠心独运处处体现着大师对 Java 设计模式的灵活运用及对 Java 技术的高深造诣。Spring框架源码无疑是 Java 技术的最佳实践范例。如果想在短时间内迅速提高自己的 Java 技术水平和应用开发水平学习和研究 Spring 源码将会收到意想不到的效果。 二、Spring体系结构 Spring 核心框架由 4000 多个类组成整个框架按其所属功能可以划分为5个主要模块如图1-1所示 从整体来看这5个主要模块几乎为企业应用提供了所需的一切从持久层、业务层到展现层都拥有相应的支持。就像吕布的赤免马和方天画戟、秦琼的黄骠马和熟铜锏IoC 和 AOP 是 Spring 所依赖的根本。在此基础上Spring 整合了各种企业应用开源框架和许多优秀的第三方类库成为 Java 企业应用 full-stack 的开发框架。 1、 loC Spring 核心模块实现了 loC 的功能它将类与类之间的依赖从代码中脱离出来用配置的方式进行依赖关系描述由 IoC 容器负责依赖类之间的创建、拼接、管理、获取等工作。BeanFactory 接口是 Spring 框架的核心接口它实现了容器许多核心的功能。 Context 模块构建于核心模块之上扩展了 BeanFactory 的功能添加了 il18n 国际化、Bean 生命周期控制、框架事件体系、资源加载透明化等多项功能。此外该模块还提供了许多企业级服务的支持如邮件服务、任务调度、JNDI 获取、EJB 集成、远程访问等。ApplicationContext 是 Context 模块的核心接口。 表达式语言模块是统一表达式语言Unified EL) 的一个扩展该表达式语言用于查询和管理运行期的对象支持设置/获取对象属性调用对象方法操作数组、集合等。此外该模块还提供了逻辑表达式运算、变量定义等功能可以方便地通过表达式串和Spring IoC 容器进行交互。 2、 AOP AOP 是继 O0P之后对编程设计思想影响极大的技术之一。AOP 是进行横切逻辑编程的思想它开拓了考虑问题的思路。在 AOP 模块里Spring提供了满足 AOP Alliance规范的实现还整合了 AspectJ 这种 AOP 语言级的框架。在 Spring 里实现 AOP 编程有众多选择。Java 5.0 引入 java.lang.instrument允许在JVM 启动时启用一个代理类通过该代理类在运行期修改类的字节码改变一个类的功能从而实现 AOP 的功能。 3、数据访问和集成 任何应用程序的核心问题是对数据的访问和操作。数据有多种表现形式如数据表、XML、消息等而每种数据形式又拥有不同的数据访问技术如数据表的访问既可以直接通过 JDBC也可以通过 Hibernate 或 MyBatis)。 首先Spring 站在 DAO 的抽象层面建立了一套面向 DAO层的统一的异常体系同时将各种访问数据的检查型异常转换为非检查型异常为整合各种持久层框架提供基础。其次Spring 通过模板化技术对各种数据访问技术进行了薄层封裝将模式化的代码隐藏起来使数据访问的程序得到大幅简化。这样Spring 就建立起了和数据形式及访问技术无关的统一的 DAO 层借助 AOP 技术Spring提供了声明式事务的功能。 4、 Web 及远程操作 该模块建立在 Application Context模块之上提供了 Web 应用的各种工具类如通过 Listener 或 Servlet 初始化 Spring 容器将 Spring 容器注册到 Web 容器中。该模块还提供了多项面向 Web 的功能如透明化文件上传、Velocity、FreeMarker、XSLT 的支持。此外Spring 可以整合 Struts、 WebWork 等 MVC框架。 5、Web 及远程访问 Spring 自己提供了一个完整的类似于 Struts 的 MVC框架称为 Spring MvC, 据说Spring 之所以也提供了一个 MVC 框架是因为 Rod Johnson 想证明实现 MVC 其实是一项简单的工作。当然如果你不希望使用 Spring MVC那么 Spring 对 Struts、 Web Work等MVC 框架的整合一定也可以给你带来方便。相对于 Servlet 的 MVC, Spring 在简化 Portlet 的开发上也做了很多工作开发者可以从中受益。 6、WebSocket WebSocket 提供了一个在 Web 应用中高效、双向的通信需要考虑到客户端浏览器和服务器之间的高频和低时延消息交换。一般的应用场景有在线交易、游戏、协作、数据可视化等。此外Spring 在远程访问及 Web Service 上提供了对很多著名框架的整合。由于Spring 框架的扩展性特别是随着 Spring 框架影响性的扩大越来越多的框架主动支持Spring 框架使得 Spring 框架应用的涵盖面越来越宽广。 三、Spring4.0新特性 核心容器的增强 Spring 4.0 对核心容器进行了增强 支持泛型依赖注入对 GgLib 类代理不再要求必须有空参构造器(这个特性带来很大便利);在基于 Java 的配置里添加了 Description提供Conditional 注解来实现 Bean 的条件过滤提供Lazy 注解解决 Bean延时依赖注入支持 Bean 被注入 List或者 Array 时可以通过Order 注解或基于 Ordered 接口进行排序。如果使用 Spring 的注解支持则可以使用自定义注解来组合多个注解方便对外公开特定的属性。 泛型依赖注入 Spring 4.0可以为子类的成员变量注入泛型类型
Map依赖注入 上述写法将 BaseService 类型注入map 中。其中k名字value 是所有实现了 BaseService 的 Bean。 Lazy延迟依赖注入 List注入 Conditional 注解 Conditional 类似于Profile一般用于在多个环境开发环境、测试环境、正式机环境中进行配置切换即通过某个配置来开启某个环境。Conditional 注解的优点是允许自己定义规则。可以指定在如Component、Bean、 Configuration 等注解的类上以决定是否创建 Bean 等。 CGLIB 代理类增强 在 Spring 4.0 中基于 CGLIB的代理类不再要求类必须有空参构造器这是一个很好的特性。使用构造器注入有很多好处比如可以确保只在创建 Bean 时注入依赖以保证 Bean 不可更改又如如果对UserService 类进行事务增强此时要求 UserService 类必须有空参构造器就会造成很多不便。 其他 Spring4.0其他特性 Spring Web MVC的增强新增了RestController注解支持了WebSocket全面支持Java8… 四、Spring 子项目 打开 Spring 官方网站 http://spring.io/projects可以看到 Spring 众多的子项目它们构建起一个丰富的企业级应用解决方案的生态系统。 在这个生态系统中除 Spring 框架本身外还有很多值得关注的子项目。从配置到安全从普通 Web 应用到大数据用户在构建应用基础设施的时候总能从 Spring 子项目中找到一个适合自己的子项目。对Spring 应用开发者来说了解这些子项目可以更好地使用 Spring也可以通过阅读这些子项目的源代码更深入地了解 Spring 的设计架构和实现原理。 下面以表格形式对Spring 的各个子项目进行简要介绍如表1-1 所示:
总结 待补充。