1.3 进入Spring的世界之观赏Spring美景
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.3 进入Spring的世界之观赏Spring美景相关的知识,希望对你有一定的参考价值。
1.3 观赏Spring美景
Spring的初心就是通过依赖注入,面向切面和减少模板代码来简化java企业级开发.合理的使用Spring可以减少java开发,但是Spring框架目前也已经是一个很大的生态系统了(毕竟当初Spring就是跟java对抗的 java是一个大平台 那么如今的Spring也逐渐演变成了技术平台),基于核心的框架,扩展到了例如web-service,REST,移动设备,NoSql等技术领域.
通过分解核心的框架来看看Spring带来了什么,并且了解Spring公文包中的其它成员。
1.3.1 Spring模块 这部分纯粹就是很概念的东西 了解一下
下载Spring并打开lib目录,可以看到很多的jar文件。在Spring4.0中 有20个不同的小模块。
这些模块可以分为6种功能策略,从这些功能策略可以给予java企业级开发的大部分信息。但是我们可以选择这些功能策略中的几点来满足我们自己的应用。如果Spring无法满足我们的需求,我们可以寻找其它的框架来满足我们的应用。并且Spring提供了许多与其它框架集成的连接点。
Spring核心容器
Spring框架的心脏就是容器,用来管理Spring中的Bean的创造,配置,管理。这个模块中提供DI的组件是SpringBeanFactory.基于SpringBeanFactory,还有多个Spring ApplicationContext的实现,提供了不同的方式来配置Spring(前面已经提过).
除此之外,bean factory和application context也提供了许多企业服务,例如email,jNDI,EJB集成和调度。
所有这些模块都基于核心容器。我们可能会使用到这些类,在我们配置应用的时候。在第二章会深入Spring的DI。
Spring AOP模块
Sping为面向切面编程提供了巨大的支持。这个模块可以作为切面编程的基础。和DI类似,AOP实现了应用对象的松耦合。使用APO,整个应用的一些关注点与它们应用到的对象解耦。第四章会谈论AOP。
数据访问和集成
使用JDBC正常会产生许多模板代码。Spring将这些模板代码抽象化,让我们写的代码更加清晰和简单,并且可以防止一些关闭数据库资源的问题产生。这个模块也建立了一个有意义的异常层次基于各种数据库产生的异常消息。不需要再尝试解读神秘而专有的SQL错误消息。
对于那些更喜欢使用对象-关系映射(ORM)的人,Spring提供了ORM模块。Spring对ORM的支持建立在对DAO的支持,为若干个ORM解决方案提供了一个方便的方式来建立DAO。Spring并没有尝试去实现自己的ORM解决方案,而是提供了钩子与受欢迎的框架进行整合,比如Hibernate,JPA,Java Data Object,IBatis SQL MAPs.Spring的事务管理支持每一个ORM框架,包括JDBC。
我们可以看到基于JDBC的Spring模板可以极大的简化JDBC,当我们使用数据访问在第十章.
这个模块也包括基于Java Message Service的抽象,为和其它应用通过消息进行异步的集成。并且从Spring3.0开始,这个模块包括了面向XML文件的映射功能,最开始是作为Spring Web服务项目的一部分。
除此之外,这个模块使用了Spring的AOP模块为在Spring应用中的对象提供事务管理服务。
WEB和远程
MVC设计是一种很广泛的方法用于web应用中,用来分离用户接口和实现逻辑。java不缺少MVC框架的实现,比如Struts,JSF,WebWork,Tapestry(一种受欢迎的MVC选择)。
即使Spring可以和某干个MVC框架集成,在WEB和远程模块中有一种可用的MVC框架,它是在web应用的web层次中起到了松耦合的作用。将会在第5-7章学习Spring MVC 框架
为了满足面向用户的web应用程序,这个模块也提供了若干个远端的选择,用来实现一个应用程序与若干个应用程序进行交互。这个模块包括了RMI(Remote Method Invoke),Hessian,Bur-lap,JAX-WS,和Spring自己的HTTP调用器。Spring也提供了一个支持REST风格的API。第十五章我们将会学习Spring远程,在十六章接触REST API.
工具
Spring的工具模块包括了支持为JVM添加代理。具体来说,为Tomcat提供了weaving代理,可以在类加载的时候改变类文件。
这个模块在这本书中很少介绍,或者说很少用,又或者说能用好这种技术的人一般都是大牛。所以先成为小牛再说吧。
测试
认识到测试的重要性,Spring提供了一个致力于帮助测试的模块。
在这个模块中,将会看到许多的模拟对象用来书写单元测试,使用JNDI,Servlets,Portlets.对于集成级别的测试,这个模块为在Spring Application Context的bean提供了加载的支持。
通过这本书,许多例子都会利用这个模块来测试。
以上是关于1.3 进入Spring的世界之观赏Spring美景的主要内容,如果未能解决你的问题,请参考以下文章
凭借着这份Spring面试题,我拿到了阿里,字节跳动美团的offer!
Spring Cloud系列之 RibbonOpenFeign