搭建普通 Spring IoC 项目
Spring 框架的核心特性之一是控制反转(IoC),它通过依赖注入(DI)来管理对象的生命周期和相互依赖关系。本文将指导你如何搭建一个普通的 Spring IoC 项目。
准备工作
JDK:确保已安装 JDK(推荐 JDK 8 或更高版本),可以在命令行输入 java -version 检查。
IDE:推荐使用 IntelliJ IDEA 或 Eclipse,便于管理和开发 Java 项目。
Maven:我们将使用 Maven 进行依赖管理,确保已安装 Maven。可以在命令行输入 mvn -v 检查安装情况。
创建 Maven 项目
在 IDE 中创建一个新的 Maven 项目:
1. 打开 IntelliJ IDEA,选择 New Project > Maven。
2. 填写项目的基本信息,如 Group ID 和 Artifact ID。
3. 完成创建向导,生成项目结构。
配置 pom.xml
打开 pom.xml 文件,添加 Spring IoC 相关依赖:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>spring-ioc-example</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- Spring Core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.20</version>
</dependency>
<!-- JUnit (用于单元测试) -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
创建 Spring 配置文件
在 src/main/resources 目录下创建 applicationContext.xml 文件,这是 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
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 定义 Bean -->
<bean id="userService" class="com.example.service.UserService" />
<bean id="userDao" class="com.example.dao.UserDao" />
</beans>
id:bean对象的id,唯⼀标识。⼀般是Bean对象的名称的⾸字⺟⼩写
class:bean对象的类路径
创建 Bean 类
在 src/main/java/com/example/service 目录下创建 UserService 类:
package com.example.service;
import com.example.dao.UserDao;
public class UserService {
private UserDao userDao;
// 构造器注入
public UserService(UserDao userDao) {
this.userDao = userDao;
}
public void createUser(String username) {
userDao.save(username);
System.out.println("User " + username + " created.");
}
}
在 src/main/java/com/example/dao 目录下创建 UserDao 类:
package com.example.dao;
public class UserDao {
public void save(String username) {
System.out.println("User " + username + " saved to the database.");
}
}
创建主程序
在 src/main/java/com/example 目录下创建 App 类,用于启动 Spring IoC 容器:
package com.example;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.example.service.UserService;
public class App {
public static void main(String[] args) {
// 加载 Spring 配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// 获取 UserService Bean
UserService userService = (UserService) context.getBean("userService");
// 使用 UserService
userService.createUser("Alice");
}
}
运行项目
在 IDE 中运行 App 类,控制台输出应如下所示:
User Alice saved to the database.
User Alice created.
通过以上步骤,我们成功搭建了一个普通的 Spring IoC 项目,并实现了基本的依赖注入。