前言:
Spring是一个开源代码的设计层面的框架,解决的是业务逻辑层和其他层的松耦合问题,简单来说,spring是一个分层的Javaee轻量级开源框架.
核心:
背景
传统的J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现writeOnce及Run Anywhere的承诺.Spring作为开源的中间件,独立于各种应用服务器,省会无须应用服务器支持,也能提供应用服务器的功能,如声明式事务/事务处理等等,Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案.可以说Spring是企业应用开发的一站式选择,并贯穿表现层.业务层.持久层.然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合.[摘自百度]
总结起来就是Spring有着自身的优势,带来了春天一样的鲜活的生命力,并且和其他的已有的框架实现了很好的整合.
定义
Spring框架是一个分层的架构,它包含一系列的功能要素分为大约20个模块.下面这个图可见:
核心容器:beans core context expressioni+1
结合咱们之前学习的Struts,Hibemate来学习
浏览器
javascript服务器
web service dao
struts hibernate
spring mvc spring mybatis
SSH框架即:structs spring hibernateSSM框架即:springmvc spring mybatis
分层:web层:Struts,spring-MVC
service层:spring
dao层:hibernate,mybatis,jdbcTemplate--spring data
框架特征
轻量
轻量级,从大小与开销两方面而言spring都是轻量的.从这个例子我们可以看出:完整的spring框架可以在一个大小之后1mb多的jar文件里发布,并且spring所需要的开销越是微不足道的.与EJB相比,依赖资源少,销毁的资源少
面向切面
允许通过分离应用的业务逻辑与系统级服务进行内聚性开发.
容器
容器给人的概念则是轻量级的,spring包含并管理应用对象的配置和生命周期,可以配置每一个bean如何被创建的
控制反转
一个对象依赖的其他对象会通过被动的方式传递出来,而不是这个对象自己创建或者查找依赖对象.
特性
方便解耦,简化开发
AOP编程的支持
方便程序的支持
方便程序的测试
方便集成各种优秀框架
降低javaEE API的使用难度
spring核心
控制反转和面向切面
总结:
关于spring的两个核心,在后面的博客中会相继介绍,感谢大家的阅读.