缘由:浑浑噩噩做了几年码农,每天都是垒代码,找bug,垒代码,找bug-------,直到最近公司新来个小白经常向我请教问题,当我向他讲解spring时,才发现在自己对spring的理解有一些地方是自相矛盾的;再加上前段时间“中兴程序员跳楼事件”对我敲响了警钟:技术人员不能丢技术。
1,spring 概述
* Spring是一个免费开源框架
* Spring是于2003年兴起的一个轻量级的Java开发框架
* 由RodJohnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。
* 它是为了解决企业应用开发的复杂性而创建的。
* 框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE应用程序开发提供集成的框架。
* Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。
* EE开发分成三层结构
* WEB层 -- Spring MVC
* 业务层 -- Bean管理:(IOC)
* 持久层 -- Spring的JDBC模板.ORM模板用于整合其他的持久层框架
2,为什么要学习或者使用Spring框架
1.
为什么要学习
Spring
的框架?
*
方便解耦,简化开发
* Spring
就是一个大工厂,可以将所有对象创建和依赖关系维护,交给
Spring
管理
* AOP
编程的支持
* Spring
提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
*
声明式事务的支持
*
只需要通过配置就可以完成对事务的管理,而无需手动编程
*
方便程序的测试
* Spring
对
Junit4
支持,可以通过注解方便的测试
Spring
程序
*
方便集成各种优秀框架
* Spring
不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:
Struts2
、
Hibernate
、
MyBatis
、
Quartz
等)的直接支持
*
降低
JavaEE API
的使用难度
* Spring
对
JavaEE
开发中非常难用的一些
API
(
JDBC
、
JavaMail
、远程调用等),都提供了封装,使这些
API
应用难度大大降低
2. Spring
框架的版本
* Spring3.x
和
Spring4.x
的版本