Spring框架学习大纲
Spring框架学习大纲
一、Spring基础入门
-
Spring概述
- Spring框架发展历史与核心优势
- Spring核心模块组成(IoC、AOP、Data Access、Web MVC等)
- Spring与传统Java EE开发对比
-
控制反转(IoC)与依赖注入(DI)
- IoC容器原理与核心接口(
BeanFactory
vsApplicationContext
) - 配置方式:XML配置 vs 注解配置 vs Java配置类
- Bean的作用域(Singleton、Prototype等)
- Bean生命周期回调(
init-method
、destroy-method
、@PostConstruct
等) - 依赖注入方式:构造器注入、Setter注入、自动装配(
@Autowired
)
- IoC容器原理与核心接口(
-
Spring表达式语言(SpEL)
- SpEL语法与常见用法
- 在配置文件中动态赋值
二、Spring核心进阶
-
面向切面编程(AOP)
- AOP概念与适用场景(日志、事务、权限等)
- 核心术语:切面(Aspect)、连接点(Join Point)、通知(Advice)、切点(Pointcut)
- 基于XML和注解(
@AspectJ
)的AOP配置 - 动态代理原理(JDK动态代理 vs CGLIB)
-
资源管理与事件机制
- 资源抽象接口(
Resource
) - 国际化(
MessageSource
) - 事件驱动模型(
ApplicationEvent
与ApplicationListener
)
- 资源抽象接口(
三、数据访问与事务管理
-
JDBC与ORM整合
JdbcTemplate
使用与最佳实践- 整合ORM框架(Hibernate、MyBatis)
- 声明式事务管理(
@Transactional
) - 事务传播行为与隔离级别
-
Spring DAO支持
- 数据访问异常体系(统一异常处理)
HibernateTemplate
与SqlSessionTemplate
四、Spring Web MVC
-
Web MVC核心架构
- MVC设计模式与Spring实现
DispatcherServlet
工作原理- 控制器开发(
@Controller
、@RequestMapping
) - 视图解析(ViewResolver、JSP/Thymeleaf/FreeMarker)
- 表单处理与数据绑定(
@ModelAttribute
、@RequestParam
)
-
RESTful服务开发
@RestController
与HTTP方法注解(@GetMapping
等)- 请求/响应内容协商(JSON/XML)
- 异常统一处理(
@ControllerAdvice
)
-
拦截器与过滤器
- 自定义拦截器(
HandlerInterceptor
) - 文件上传与下载
- 自定义拦截器(
五、Spring Security
-
安全基础与认证授权
- 核心组件:
SecurityFilterChain
、UserDetailsService
- 基于表单登录、HTTP Basic认证
- 权限控制(
@PreAuthorize
、@Secured
) - 密码加密与存储策略
- 核心组件:
-
高级安全特性
- 自定义登录页与退出处理
- 跨站请求伪造(CSRF)防护
- OAuth2与JWT集成(需手动配置,非Spring Boot Starter)
六、Spring集成与扩展
-
远程服务与消息队列
- RMI与HTTP Invoker
- 整合JMS(ActiveMQ/RabbitMQ)
-
动态任务与定时器
TaskExecutor
异步任务- 定时任务配置(
@Scheduled
)
-
响应式编程(可选)
- Spring WebFlux基础(需Spring 5+)
- 响应式数据访问(Reactive Repositories)
七、测试与最佳实践
-
Spring测试框架
- 单元测试(
SpringJUnit4ClassRunner
) - 集成测试(
@ContextConfiguration
) - Mock对象(
MockMvc
模拟HTTP请求)
- 单元测试(
-
项目实践与优化
- 分层架构设计(Controller-Service-DAO)
- 配置优化(Profile多环境切换)
- 性能调优与常见问题排查
八、综合实战项目
- 传统SSH/SSM整合项目
- 使用Spring MVC + Hibernate/MyBatis开发企业级应用
- 实现用户管理、权限控制、事务管理、日志切面等功能
- 手动配置Tomcat部署(非Spring Boot内嵌容器)
学习建议
- 官方文档:优先阅读Spring Framework官方文档。
- 实践驱动:通过手写XML/Java配置深入理解原理。
- 经典书籍:《Spring实战(第5版)》《Expert One-on-One J2EE Development without EJB》
- 社区资源:参与Spring官方论坛、Stack Overflow问答。
此大纲覆盖Spring核心功能,适合希望深入理解传统Spring配置和原理的学习者。