JavaEE自学记录 (一) Spring框架第一个小程序示例-编写第一个Hello World程序

JavaEE第一个小程序,如何利用Spring框架编写第一个Hello World程序
一.什么是Spring框架
Spring是一个分层的Java SE/EE full-stack(一站式)轻量级开源框架,它以IoC(控制反转)和AOP(面向切面编程)为内核,使用基本的JavaBean来完成以前只能用EJB(Java企业Bean)完成的工作,取代了EJB臃肿,低效的开发模式
Spring致力于JavaEE应用各层的解决方案,在表现层提供SpringMVC以及Structs框架的整合功能;
在业务逻辑层可以管理事务,记录日志等;在持久层可以整合MyBatis、Hibernate等技术.
虽然Spring贯穿于表现层、业务逻辑层和持久层,但它并不是取代已有的框架,而是以高度的开放性与它们进行无缝整合
二.Spring框架的优点
1.非侵入式设计
2.方便解耦,简化开发
3.支持AOP面向切面编程
4.支持声明式事务处理
5.方便程序的测试
6.方便集成各种优秀框架
7.降低JavaEE API的使用难度
三.Spring的下载以及目录结构
本例所用的Spring的版本均为4.3.6
下载地址为 http://repo.spring.io/simple/libs-release-local/org/springframework/spring/4.3.6.RELEASE/
Spring框架压缩包下载后解压会看见如下文件夹
docs、libs、以及schema文件夹
docs中包含API文档和开发规范,libs文件夹中包含开发所需要的JAR包和源码,schema文件夹中包含开发所需要schema文件,这些文件定义了Spring相关配置文件的约束
除此之外,我们还需要下载一个第三方的依赖包,Spring的核心容器还需要依赖commons.logging的JAR包
该包的下载地址为 http://commons.apache.org/proper/commons-logging/download_logging.cgi

下载完以上的JAR我们就可以进行第一个Spring的小程序开发示例了
首先,需要的有
jdk版本为1.8
开发工具为Eclipse
(1)在Eclipse中,创建一个名为TestSpring的Web项目,将Spring框架的4个基础包以及依赖包common-logging的JAR包复制到项目的WebContent的WEB-INF的lib目录中,如下图
JavaEE自学记录 (一) Spring框架第一个小程序示例-编写第一个Hello World程序JavaEE自学记录 (一) Spring框架第一个小程序示例-编写第一个Hello World程序这里解释一下为什么复制这么多JAR包,在我第一次学习的时候我方便图省事就直接把所有下载的JAR包全都复制到项目里了,但真正需要的只有
spring-beans-4.3.6.RELEASE.jar
spring-context-4.3.6.RELEASE.jar
spring-core-4.3.6.RELEASE.jar
spring-expression-4.3.6.RELEASE.jar
还有依赖包commons-logging-1.2.jar
(2)在src的目录下,创建一个叫com.itheima.ioc包,并在包中创建接口UserDao,然后在接口定义一个say()方法,如下图
JavaEE自学记录 (一) Spring框架第一个小程序示例-编写第一个Hello World程序(3)在com.itheima.ioc包下,创建UserDao接口的实现类UserDaoImpl,该类中需要实现接口中的say()方法,并在方法中编写一条输出语句
JavaEE自学记录 (一) Spring框架第一个小程序示例-编写第一个Hello World程序(4)在src目录下,创建Spring的配置文件applicationContext.xml,并在配置文件中创建一个为id为userDao的Bean,如下图
JavaEE自学记录 (一) Spring框架第一个小程序示例-编写第一个Hello World程序这里解释一下,这个XML文件是由一个模板,代码不需要都手动打出来,在以后真正实践中只需要改其中的bean id 和 class,name等属性,当然在以后的学习当中,Spring的装配方式有很多,这里用的方法只是初学者刚开始最基础的用法。

(5)在com.itheima.ioc包下,创建测试类TestIoC,并在类中编写main()方法,在main()方法中,需要初始化Spring容器,并加载配置文件,然后通过Spring容器获取userDao实例(即Java对象),最后调用say()方法,如下图
JavaEE自学记录 (一) Spring框架第一个小程序示例-编写第一个Hello World程序执行程序后控制台输出结果为
JavaEE自学记录 (一) Spring框架第一个小程序示例-编写第一个Hello World程序此篇教程主要是讲解一下如何通过Spring容器来获取实现类对象,这也是IoC控制反战的工作机制

感谢黑马程序员所编著书籍 JavaEE企业级应用开发教程(Spring+SpringMVC+MyBatis)
本人也是通过这本书初步了解了Spring的IoC工作机制。
教程篇幅有限,如有错误请各位指点出来。