这篇文章千锋长沙Java培训讲师给大家讲讲Spring 相关知识。Spring 最重要的两个概念就是:AOP、IoC。AOP(Aspect-Oriented Programming),也就是面向切面编程,能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。
IoC(Inverse of Control),也就是控制反转,是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理。AOP 用于解耦业务代码和公共服务代码,比如日志、安全、事务等。IoC 用于管理 Java 对象之间的依赖关系。AOP 和 IoC 让代码更加简单,具有良好的松耦合性和可测试性,极大地提高了开发效率。
IoC 的使用:基于 XML 的装配基础 Java configuration 的装配自动装配多种装配的混合使用
AOP 的使用:切面、目标对象、切点、通知前置、后置、异常等
除了 Spring,接下来就是 SpringMVC。Spring MVC 能够使开发者非常容易地开发出 Web 应用,同时无缝衔接 Spring 本身的诸多优良品质,比如说 IoC容器、AOP编程等等。
SpringMVC 的基本原理
DispatcherServletWebApplicationContext处理HTTP请求过程
Controller
Controller、RequestMapping 等注解的使用PathVariableRequestParamRequestMapping
表单处理
数据绑定表单验证文件上传
拦截器
异常处理
配置错误页面使用 HTTP 状态码ExceptionHandler
REST API
ResponseBodyRequestBody
然后是 MyBatis。MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或标注,将接口和 Java 的 POJO 映射成数据库中的记录。
MyBatis的基本使用
SqlSessionFactorySqlSessionFactoryBuilderSqlSession
增删改查
Mapper配置文件select元素insert元素update元素delete元素
复杂查询
resultMapassociation嵌套结果与嵌套查询collection动态SQL分页查询(分页插件)
先学习 SSM,再学习 Spring Boot。Spring Boot 的出现,并不意味着 Spring 和 SpringMVC 已经过时了,从设计目的上来说,Spring Boot 只是实现了 Spring 的自动装配,降低了项目搭建的难度。
从技术角度来说,Spring Boot 的底层依然是 Spring 的核心机制,也就是 AOP 和 IoC,Spring Boot 只是一个承载者。在我看来,学习 Spring 的正确路径应该是 Spring -> Servlet -> Spring MVC -> Spring Boot。
相关文章
06.29抢座
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱