Spring笔记
1. Spring概述(了解)
1.1 Spring是什么
-
Spring是分层的JavaSE/EE应用full-stack轻量级开源框架
-
以IOC(控制反转)和AOP(面向切面编程)为内核,提供了展现层SpringMVC和持久层 Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多的著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架
-
使服务器开发更加简单在这里插入图片描述
-
<!--导入springMVC框架--> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.2.RELEASE</version> </dependency> </dependencies>
-
<!--导入spring jdbc--> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.2.RELEASE</version> </dependency> </dependencies>
1.2 Spring的发展历程
- 2004 年 03 月,1.0 版发布。
- 2006 年 10 月,2.0 版发布。
- 2007 年 11 月,更名为 SpringSource,同时发布了 Spring 2.5。
- 2009 年 12 月,Spring 3.0 发布。
- 2013 年 12 月,Pivotal 宣布发布 Spring 框架 4.0。
- 2017 年 09 月,Spring 5.0 发布。
1.3 Spring的优势
- 非侵入式设计:Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。
- 方便解耦、简化开发:Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器的管理,大大的降低了组件之间的耦合性。
- 支持AOP:Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事物、日志等进行集中式处理,从而提高了程序的复用性。
- 支持声明式事务处理:只需要通过配置就可以完成对事物的管理,而无须手动编程。
- 方便程序的测试:Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序。
- 方便集成各种优秀框架:Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Struts、Hibernate、MyBatis、Quartz等)的直接支持。
- 降低Jave EE API的使用难度:Spring对Java EE开发中非常难用的一些API(如JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。
- IOC(控制反转)和AOP(面向切面编程)
1.4 Spring的体系结构
1.5 扩展
- 现代化的java开发,就是基于spring开发
- Spring Boot
- 一个快速开发的脚手架
- 基于Spring Boot可以快速的开发单个微服务
- 约定大于配置
- Spring Cloud
- Spring Cloud是基于Spring Boot实现的
2. IOC理论推导
- UserDao接口
- UserDaoImpl实现类
- UserService业务接口
- UserServiceImpl业务实现类