“Spring 的工程如何创建?”
在上一章节中我们通过 Spring 的简介,了解了 Spring 的概念、体系结构、与它的核心功能。那么本章带你体验一下 Spring 的项目开发和我们之前搭建过的开发项目有哪些不同。
版本历史
Spring 诞生到现在经历太多的历史版本,有的已经消失在历史长河中了… 我们选择最新的版本给大家进行案例讲解。
我们建议从 Maven Central 升级到最新的 Spring Framework 5.2.x 版本。
以上是官网列出 Spring 的历史版本介绍,我们采用的是 5.2.2 版本,对应的 jdk 最少是 jdk 1.8 ,我相信大家的 jdk 一般来讲都是满足要求的。
下载方式:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
准备好依赖之后 废话不多说,我们开始撸代码 。
开发工具选择 idea ,创建 Maven 的 jar 工程即可。因为涉及不到浏览器的请求,所以无需创建 web 工程。
创建 Maven 工程 。
补全坐标信息。
继续下一步 finish 完成创建即可 这里不做截图演示了。
将准备好的坐标信息粘贴到工程下 pom
文件中 。cv 大法总会吧?找准位置一下就贴上了。 看下图:
坐标有了之后,说明我们的工程中已经引入了 Spring 框架的依赖。小伙伴可以检查下是否正确,点开左侧的 External Libraries 查看一下 。
那么看到上面的 jar 包列表,表示 Spring 框架中的基本依赖我们已经成功引入。接下来:既然我们使用的是框架,框架是一个半成品,已经封装好了很多功能提供我们使用,而我们如何让他们工作呢? 这里需要一个和 Spirng 框架通信的桥梁 —Spring 框架的核心配置文件。
小提示:
文件的名称你们可以随便起,我习惯使用 applicationContext.xml
。
文件的位置放在哪里呢? maven 工程需要放在 src
下面的 resources
下面,如下图:
那么配置文件是空的,不要着急。到底应该配置什么,不是自己臆想猜测的。
如果你已经下载了源码,那么解压缩它,打开 docs\spring-framework-reference 目录,打开 core.html 查看官方文档,
已经给了说明书你不看,你赖谁? 不知道怎么看?下图告诉你:
将上面的实例配置信息拷贝到我们的配置文件中,它只是给了最基本的配置头信息,内容部分 针对 bean 做初始化的部分 需要我们自行填充 。
准备好工程后,编写我们的代码。
代码如下:
//接口的代码
public interface UserService {
public void saveUser();
}
//实现类的代码
public class UserServiceImpl implements UserService {
public void saveUser() {
System.out.println("service的save方法执行了");
}
}
配置文件的目的是将我们自定义的实现类交给 Spring 的容器管理。因为 Spring 框架核心功能之一就是 IoC 控制反转,目的是将对象实例化的动作交给容器。还记得第一节介绍的吗?不记得了?走你,剩下的我们继续。最终 Spring 的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd">
<!-- 此标签的作用 是实例化UserServiceImpl类的实例 交给 Spring 容器 -->
<bean id="userService" class="com.wyan.service.impl.UserServiceImpl"></bean>
</beans>
从容器中获取对象实例,调用提供的方法
public class DemoTest {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
UserService service = (UserService) context.getBean("userService");
service.saveUser();
}
}
解释:
ApplicationContext
是 Spring 框架提供的一个接口,目前只需要知道它是作为存储实例化 bean 对象的容器即可。下一节我们会细讲。context.getBean ()
方法是通过配置文件中声明的 bean 标签 id 属性获取容器内的实例。最终结果如下:
可以看到控制台打印输出 证明确实从容器中获取到了 userService 的实例。入门就是如此简单…
技术之路很简单 一是思路步骤清晰,二就是代码的熟练度。
先理清入门示例的步骤 :
0/1000