1.Spring简介
Spring是J2EE开发中一个很重要的框架。它主要用来解决下面两个问题。
解决大型软件开发中,对象之间由于复杂的依赖关系导致的牵一发而动全身的强耦合问题.使用IoC思想解决。使用面向切面编程, 解决控制事务的繁琐操作.使用AOP解决。
根据Spring解决的问题,和其对应的专业术语。我们也说Spring是一个轻量级的DI/IoC和AOP容器的开源框架, 其提倡以最小侵入式管理应用中的代码,意味着我们可以随时卸载和安装Spring.
接下去我们需要理解下Spring以下的专业术语,我就不抄写网络上的术语内容,并不是那么通俗,以我的理解如下。
1.2 Spring术语
应用程序(Application).对于JavaWeb来将,应用程序就是一个Web App.例如OA系统等.
框架:框架是一种抽象, 其抽取了开发中可以重用和常见的功能的集合。
非侵入式设计:非侵入式是编程中常见的一种设计方式,它保障了别人用你的框架,即使到时候不用了,也不会应用删除你的框架而要更改大量的代码, 可以不用的时候就直接删除,不会带来依赖问题。
从代码的角度来说.非侵入式,保证了不用继承框架的类.也就不会和依赖于框架的类.是一种解耦的设计、
轻量级和重量级所谓的轻量级是相对于重量级来说。一般是由以下几个特点.
非侵入式、资源占用少、部署简单、易用.所以所谓的轻是在有重的前提下的对比。
POJO:Plain Ordinary Java Object / Pure Old Java Object.所谓的POJO是不继承Java的任何类,不实现任何的接口,但可以包含业务逻辑和持久化逻辑
容器:容器主要用来
存放对象.管理对象的整个生命周期.比如Tomcat是Servlet/JSP容器.
1.3 Spring的框架构架
之所以要了解Spring构架是在学习之前我们要对一样事务大体的骨架有一个了解。在介绍Spring的构架之前,我们简要的说下Spring的优势。
Spring的优势
低侵入、低耦合
声明式事务管理
方便集成其他框架
Spring框架包含JavaEE 三层的每一层的解决方案(一站式)
构架
从上之下。主要分为
数据访问层(Data Access)。Web层。AOP模块。核心容器层(Core Coniainer)。Beans、Core、Context、SpEL测试层(Test)。
Spring框架版本
这里简要介绍下Spring各个版本的变化。其中Spring2.5是变化最大的一个版本,其已经完成了大部分Spring的核心功能。而后续版本都是在其上增加新的语法支持等。
Spring2.5:驱动编程、支持SimpleJdbcTemplate的命名参数操作Spring3.x:全面支持泛型不支持JDK 1.4。支持SpEL、支持WebService的OXMSpring4.x:支持Java8、支持JavaEE6规范、泛型限定式依赖注入、对Hiberante4的集成和事务管理提供更好的管理方案.
介绍完Spring的一些基础常识,我们看是以Spring来写一个最简单的HelloWorld,学习基于Spring搭建应用的基本步骤。
2. 基于Spring如何编写程序
关于Spring插件
如果不是用Spring官方提供的Eclipse。需要自己安装SIS插件.
Help-->Install New Software-->work with 中输入http://dist.springsource.com/release/TOOLS/update/e4.6/, 勾掉Contact All update ,回车等待片刻,选中带spring IDE的四项,一直next直到完成,重启eclipse即可。如下图
2.1 基于Spring的HelloWorld编写步骤
导入jar包。并build到classpath。spring-beans-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
commons-logging-1.1.3.jar
将我们的控制权转交给Spring去控制创建bean的xml配置文件。注册bean到容器, 进行属性注入。注册HelloWorld到IoC容器中。
启动IoC容器, 根据Bean的id和Bean的类型, 从Ioc容器中取出对应的bean实例.bean的获取方式又有下面三种.一般我们使用最后一种,因为最后这种既能获取到bean,又无需强转.根据ID或者name获取bean.
ioc.getBean(String)根据类型获取bean.
ioc.getBean(Class)根据ID和类型获取bean.
ioc.getBean(String, Class)
目录结构
作者:sixleaves
链接:https://www.jianshu.com/p/282dcae0b4e3