Spring 基本应用教程
概述
本教程介绍 Spring Framework 的基本应用,包括环境搭建、项目创建、依赖注入等核心概念。Spring 是 Java 企业级开发的基础框架,掌握其基本用法对后续学习 SpringBoot、SpringMVC 等技术至关重要。
💡 学习目标:
- 掌握 IDEA + Maven + Spring 开发环境搭建
- 理解 Spring IoC 容器和依赖注入
- 能够创建简单的 Spring 应用程序
环境准备
开发工具版本
| 工具 | 版本 | 说明 |
|---|---|---|
| JDK | 1.8+ | Java 开发环境 |
| IDEA | 2021+ | 集成开发环境 |
| Maven | 3.6.3+ | 项目管理工具 |
| Spring | 5.3+ | 核心框架 |
Maven项目创建
IDEA 欢迎页面配置
为了提高开发效率,建议配置 IDEA 启动时显示欢迎页面:
步骤 1: 进入自定义设置
- 在 IDEA 欢迎页面点击 Customize
- 选择 Settings 进入系统设置

步骤 2: 配置启动选项
- 搜索 System Settings 并进入
- 取消
Reopen projects on startup选项 - 勾选
NEW windows选项

🔧 配置说明: 这样配置后每次启动 IDEA 都会显示欢迎页面,方便选择项目或创建新项目
Maven 环境配置
步骤 1: 进入 Maven 设置
- 在 IDEA 设置中搜索 Maven
- 进入 Maven 配置页面
步骤 2: 配置 Maven 路径
- 设置 Maven home path: 指向 apache-maven-3.6.3 安装目录
- 配置 User settings file: 指向 Maven 配置文件
- 设置 Local repository: 指向本地仓库目录
⚠️ 注意事项:
- 建议将 Maven 安装到非 C 盘根目录
- 本地仓库目录需要手动创建
- 配置完成后点击 OK 保存设置
Maven 目录结构示例:
D:/Development/
├── apache-maven-3.6.3/ # Maven 安装目录
│ ├── bin/
│ ├── conf/
│ └── lib/
└── maven-repository/ # 本地仓库
Maven 镜像配置
为了提高依赖下载速度,建议配置阿里云镜像:
步骤 1: 编辑 Maven 配置文件
- 找到
maven/conf/settings.xml文件 - 使用文本编辑器打开
步骤 2: 添加阿里云镜像
在 <mirrors> 标签内添加以下配置:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
步骤 3: 配置本地仓库
找到 <localRepository> 标签,设置本地仓库路径:
<localRepository>D:/Development/maven-repository</localRepository>
🔧 配置说明:
- 阿里云镜像可大幅提升依赖下载速度
- 本地仓库建议设置在非 C 盘目录
- 配置完成后保存文件
创建 Maven 项目
步骤 1: 新建项目
- 在 IDEA 欢迎页面选择 New Project
- 选择 Maven 项目类型
- 选择合适的 SDK 版本

步骤 2: 配置项目信息
| 配置项 | 示例值 | 说明 |
|---|---|---|
| Name | c01 | 项目名称 |
| Location | D:/Projects/c01 | 项目存储路径 |
| GroupId | com.owlbay | 组织标识 |
| ArtifactId | c01 | 项目标识 |
| Version | 1.0-SNAPSHOT | 版本号 |

步骤 3: 验证 Maven 配置
- 确认 Maven home path 指向正确路径
- 验证 User settings file 配置
- 确认 Local repository 设置正确

步骤 4: 项目创建完成
- IDEA 会自动下载 Maven 依赖
- 看到项目结构树表示创建成功

Spring基础配置
Spring 框架体系结构
Spring 框架采用模块化设计,主要包含以下几个核心模块:
1. 核心容器 (Core Container)
| 模块 | 功能描述 |
|---|---|
| spring-core | 框架基础核心,提供工具类和基本功能 |
| spring-beans | Bean 定义、创建和管理,实现 IoC 和 DI |
| spring-context | 运行时容器,提供 ApplicationContext |
| spring-expression | Spring 表达式语言(SpEL)支持 |
2. AOP 模块
| 模块 | 功能描述 |
|---|---|
| spring-aop | 基础 AOP 功能和代理支持 |
| spring-aspects | AspectJ 集成和高级 AOP 特性 |
3. Web 模块
| 模块 | 功能描述 |
|---|---|
| spring-web | Web 基础功能和容器集成 |
| spring-webmvc | Spring MVC 框架 |
| spring-websocket | WebSocket 协议支持 |
4. 数据访问模块
| 模块 | 功能描述 |
|---|---|
| spring-jdbc | JDBC 抽象层和数据库访问 |
| spring-tx | 事务管理和声明式事务 |
| spring-orm | ORM 框架集成(Hibernate、MyBatis) |
| spring-jms | 消息服务集成 |
依赖注入详解
项目结构搭建
步骤 1: 创建项目目录结构
在 src/main 下创建标准的 Maven 目录:
src/
├── main/
│ ├── java/ # Java 源代码
│ └── resources/ # 配置文件
└── test/
└── java/ # 测试代码
步骤 2: 设置源码目录
- 右键点击
java文件夹 - 选择 Mark Directory as → Sources Root

三层架构设计
Spring 应用通常采用三层架构模式:
// 架构层次
控制层 (Controller) → 服务层 (Service) → 数据访问层 (DAO)
↓ ↓ ↓
处理用户请求 业务逻辑处理 数据库操作
💡 设计原则:
- 控制层: 处理 HTTP 请求,调用服务层
- 服务层: 实现业务逻辑,调用 DAO 层
- DAO 层: 负责数据访问和持久化操作
3.右击名为 resources 的文件选择 Mark Directory as 属性中的 Resources Root(资源根)

实践示例
传统 Java 开发方式
步骤 1: 创建接口和实现类
在 Java 源包下创建以下文件:
UserDao 接口:
public interface UserDao {
public void say();
}
UserDaoImpl 实现类:
public class UserDaoImpl implements UserDao {
@Override
public void say() {
System.out.println("UserDao say...");
}
}
Test 测试类:
public class Test {
public static void main(String[] args) {
// 传统方式:手动创建对象
UserDao userDao = new UserDaoImpl();
userDao.say();
}
}
Spring IoC 容器方式
步骤 1: 添加 Spring 依赖
在 pom.xml 中添加 Spring 核心依赖:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.21</version>
</dependency>
</dependencies>

🔧 版本说明: 推荐使用 Spring 5.3+ 版本,具有更好的性能和稳定性
步骤 2: 创建 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">
<!-- 配置 UserDao Bean -->
<bean id="userDao" class="com.owlbay.UserDaoImpl"/>
</beans>

步骤 3: 使用 Spring 容器获取对象
修改测试类,使用 Spring 容器:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
// 1. 创建 Spring 容器
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
// 2. 从容器中获取对象
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
// 3. 调用方法
userDao.say();
}
}
运行结果:
UserDao say...

对比分析
| 方式 | 对象创建 | 耦合度 | 扩展性 |
|---|---|---|---|
| 传统方式 | 手动 new | 高 | 差 |
| Spring IoC | 容器管理 | 低 | 好 |
💡 核心优势:
- 控制反转: 对象创建权交给 Spring 容器
- 依赖注入: 自动装配对象之间的依赖关系
- 松耦合: 降低代码间的耦合度,提高可维护性
常见问题
问题1:依赖下载失败
❓ 问题: Maven 依赖下载失败或速度慢
解决方案:
-
配置阿里云镜像:
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>https://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> -
检查网络连接: 确保网络正常
-
清理本地仓库: 删除损坏的依赖文件
-
重新导入项目: 刷新 Maven 项目
问题2:ApplicationContext 找不到配置文件
❓ 问题:
FileNotFoundException: applicationContext.xml
解决方案:
- 检查文件位置: 确保
applicationContext.xml在resources目录下 - 检查文件名: 确认文件名拼写正确
- 重建项目: Clean 并重新构建项目
- 检查类路径: 确保 resources 标记为 Resources Root
问题3:Bean 创建失败
❓ 问题:
NoSuchBeanDefinitionException
解决方案:
- 检查 Bean ID: 确认
getBean()中的 ID 与配置文件一致 - 检查类路径: 确认 class 属性的包名和类名正确
- 检查依赖注入: 确保所需的构造函数存在
- 验证 XML 格式: 检查 XML 语法是否正确
问题4:IDEA 不识别 Spring 配置
❓ 问题: IDEA 中 Spring 配置文件没有代码提示
解决方案:
- 安装 Spring 插件: 确保 IDEA 安装了 Spring 支持插件
- 配置 Spring Facet: 在项目设置中添加 Spring 支持
- 检查 Schema: 确保 XML 中包含正确的 Schema 声明
- 重启 IDEA: 重启开发环境刷新配置
相关文章
前后章节导航
- 上一章:无(本章为第一章)
- 下一章:第二章:Spring中的Bean
Spring基础系列
- 依赖注入详解 - Bean的配置与装配
- Spring中的Bean - Bean实例化与生命周期
- Spring AOP - 面向切面编程
- Spring数据库开发 - 数据访问层
- Spring事务管理 - 声明式事务
Spring进阶指南
- Spring Bean管理完整指南 - Bean管理深入
- Spring事务管理完整指南 - 事务管理详解
MyBatis持久层框架
- 初识MyBatis - MyBatis入门
- MyBatis核心配置 - 配置详解
- Spring和MyBatis整合 - 框架集成
Spring MVC Web开发
- Spring MVC核心架构 - Web开发基础
- Spring MVC核心类和注解 - 核心组件
- Spring MVC拦截器完整指南 - 拦截器机制
SpringBoot现代化开发
- SpringBoot项目结构 - SpringBoot基础
总结
本教程介绍了 Spring 框架的基本应用,主要包括:
🎯 核心内容
- 环境搭建: IDEA + Maven + Spring 开发环境配置
- 项目创建: Maven 项目的标准创建流程
- IoC 容器: Spring 控制反转的基本使用
- 依赖注入: 通过配置文件管理对象依赖关系
📚 关键概念
- IoC (控制反转): 对象创建权交给 Spring 容器管理
- DI (依赖注入): 容器自动装配对象间的依赖关系
- Bean: Spring 容器管理的对象
- ApplicationContext: Spring 应用上下文容器
🔄 开发流程
- 环境准备 → 配置开发工具和依赖
- 项目创建 → 建立标准的 Maven 项目结构
- 编写代码 → 定义接口、实现类和测试类
- 配置 Bean → 在 XML 中声明和配置对象
- 容器获取 → 通过 ApplicationContext 获取对象