最近开始看《精通Spring4.X》,后续这段时间,将会把这本书拆开,把精华的地方展示给大家看,希望大家也多提提意见,互相讨论学习。
1.Spring定义
分层的javaSE/EE应用一站式的轻量级开源框架,以IOC和AOP为内核,提供了展示层Spring MVC、持久层Spring JDBC以及业务层事务管理等一站式的企业级应用技术。
、
2 .Spring带来的好处
方便解耦,简化开发
通过IOC,用户可以不用去管理对象之间的依赖关系,避免硬编码时的过度耦合。
AOP编程的支持
传统OOP无法支持的功能,都可以通过AOP应对。
声明式事物
通过声明的方式灵活的进行事务管理。
方便的程序测试
测试将会是很简单的事情。
方便集成各种优秀框架
提供了很多优秀框架的支持(Struts,Hibernate等)
降低JavaEE API的使用难度
Spring对JavaEE API进行了简单封装,使其更加容易被使用。
Java源码是经典的学习范例
3.Spring体系结构
Spring主要分为5个模块,分别为IOC,AOP,数据访问集成,web即远程操作和测试框架。
IOC模块(Spring核心模块之一)
作用:为了将类和类直接的依赖解耦,用配置的方式进行依赖描述,而IOC容器则对类之间的创建,拼接,管理,获取等进行管理。
1.1 Beans:Spring配置文件是用于指导BeanFactory进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。
1.2 Context: 扩展了BeanFactory的功能,添加了i18n国际化,Bean生命周期控制,框架事件体系,资源加载透明化,邮件服务,任务调度。
1.3 表达式语言:用于查询,管理运行期的对象,设置、获取对象属性,调用对象方法等,并定义了逻辑运算等。
AOP模块(Spring核心模块之一)
作用:给IOC的实现提供了一种强大而灵活的解决方案。
数据访问和集成
作用:对数据访问进行了抽象和集成,方便数据与业务之间的无缝对接,统一了DAO层。
3.1 建立了DAO层的异常体系,为整合各种持久层框架打下了基础。
3.2 对各种访问技术进行薄层封装,把模块化代码隐藏,形成统一的接口。
Web即远程操作
作用:为了web应用提供对应的解决方案,通过Servlet来初始化Spring容器等。
提供了Web应用的各种工具类
增加了透明化文件上传,XSLT等支持
增加了Struts等MVC框架
Web远程访问
作用:提供了Spring MVC框架
WebSocket
作用:提供了客户端通信的解决方案。
领取专属 10元无门槛券
私享最新 技术干货