1,什么是Spring:
Spring技术是JavaEE开发必备技能;
在专业的角度来讲,使用Spring的好处有:
1. **简化开发**,降低企业级开发的复杂性;
1. **框架整合**,高效整合其他技术,提高企业级应用开发与运行效率;
①、方便解耦,简化开发(Spring提供了IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。)
②、提供了AOP面向切面的编程,可以对某些方法进行扩展)
③、声明式事务的支持(可以从单调烦闷的事务管理代码中解脱出来,)
④、方便程序的测试,由于junt4之后提供了注解,可以通过注解方便的测试Spring程序。
⑤、方便集成各种优秀框架(Spring不排斥各种优秀的开源框架如Struts,Hibernate)
spring容器创建对象的时机
第一种:默认情况下,启动 spring 容器便创建对象(遇到bean便创建对象)
第二种:在spring的配置文件bean中有一个属性(懒加载) lazy-init=“default/true/false”
①、如果lazy-init为”default/false”在启动spring容器时创建对象(默认情况)
②、如果lazy-init为”true”,在context.getBean时才要创建对象
Spring生态:
其中:Spring Framework 是整个Spring生态圈中最基础的项目,也是其他项目的根基;
* Spring Framework的系统结构:(目前使用 5.0+的 版本)
在 Core Container (核心容器)中:存放的是对象;在你要获取对象的时候,直接到容器中获取即可; 在Web中,将会使用Spring自带的Spring MVC框架进行开发;
2,Spring的知识体系结构:
- part1:核心容器:
- 核心概念(IoC/DI)
- 容器基本操作
- part2:整合的技术:
- 整合数据层技术MyBatis 和 MyBatis-plus;
- part3:AOP:
- 核心概念
- AOP基础操作
- AOP实用开发
- part4:事务:
- 事务实用开发
- part5:Spring家族:
- SpringMVC
- SpringBoot
- SpringCloud