1 Spring 框架搭建
第一步:新建 Maven 项目、设置项目坐标以及Maven环境:
设置项目的名称和存放的工作空间:
第二步:
调整JDK版本
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
修改单元测试 JUnit 版本
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
删除build标签中的pluginManagement标签
<!--删除build标签中的pluginManagement标签-->
<build>
</build>
在Maven仓库:https://mvnrepository.com/中搜索Maven仓库:https://mvnrepository.com/
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.9</version>
</dependency>
第三步: 在main的java目录下新建包名 com.xxx.service,并新建UserService类:
package com.xxx.service;
public class UserService {
public void test() {
System.out.println("用户服务测试");
}
}
在java同级目录下添加resouces目录,将 resources 标记为资源目录,在 src\main\resources 目录下新建 spring.xml 文件,并拷贝官网文档提供的模板内容到 xml
中。配置 bean 到 xml 中,把对应 bean 纳入到 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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="userService" class="com.xxx.service.UserService">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
第四步,测试:在main的java目录下新建包名 com.xxx.test,并新建Start01类:
package com.xxx.test;
import com.xxx.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Start01 {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
UserService userService = (UserService) ac.getBean("userService");
userService.test();
}
}
- 通过ClassPathXmlApplicationContext即可得到spring的上下文环境。
- 通过getBean的id则可以返回一个对象,再进行类型强制转换则可以得到实例化好的UserService对象,不需要进行new的操作,new的操作则分配给了IOC进行工作。