Spring —— 第一个 Spring 程序
实现步骤:
- 新建maven项目
- 修改pom.xml,加入依赖
- 定义类
- 创建 Spring 的配置文件。作用:声明对象。把对象交给 Spring 创建和管理
- 使用容器中的对象。
具体实现:
-
新建一个 Maven 项目
Project SDK 选择 8 及以上
然后什么模板都不选,直接点击 Next
编辑项目名和坐标地址,点击 Finish
-
导入依赖:
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.18</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> </dependencies>
-
编写业务层的接口
package cn.edu.hziee.service; public interface SomeService { void doSomeThing(); }
-
编写业务层的实现类
package cn.edu.hziee.service.impl; import cn.edu.hziee.service.SomeService; public class SomeServiceImpl implements SomeService { @Override public void doSomeThing() { System.out.println("doSomeThing......"); } }
-
开发区别
-
使用 Spring 前
-
编写主启动类 Application
package cn.edu.hziee; import cn.edu.hziee.service.SomeService; import cn.edu.hziee.service.impl.SomeServiceImpl; public class Application { public static void main(String[] args) { SomeService someService = new SomeServiceImpl(); someService.doSomeThing(); } }
-
运行结果
doSomeThing......
-
-
使用 Spring 的实现方法
-
在 resources 目录下编写 applicationContext.xml 文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="someServiceImpl" class="cn.edu.hziee.service.impl.SomeServiceImpl"/> </beans>
在
<bean>
中声明对象:- id:自定义对象名称,唯一值
- class:的全限定名称,spring 通过反射机制创建对象,不能是接口
- spring 根据 id , class 创建对象,把对象放入到 spring 的一个 map 对象。map.put(id,对象)
-
测试
package cn.edu.hziee; import cn.edu.hziee.service.SomeService; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Application { public static void main(String[] args) { // 1、 指定 Spring 配置文件;从类路径(classpath)之下开始的路径 String config = "applicationContext.xml"; // 2、 创建容器对象,ApplicationContext 表示 Spring 容器对象。通过 ctx 获取某个 java 对象 ApplicationContext ctx = new ClassPathXmlApplicationContext(config); // 3、从容器中获取指定名称的对象,使用 getBean("id") SomeService someService = (SomeService) ctx.getBean("someServiceImpl"); // 4、调用对象方法 someService.doSomeThing(); } }
-
运行结果
doSomeThing......
-
-
我们把Spring工厂创建的对象,叫做bean或者组件(Componet)