Spring技术是JavaEE开发必备技能,企业级开发几乎都要使用。
Spring可以简化开发,降低企业级开发的复杂性,使开发变得更简单快捷;开发中会用到多种框架,Spring可以整合框架,高效整合其他技术。
简化操作都基于IOC、AOP两块技术,这两块很重要。AOP的具体应用事务处理,可以简化项目中的事务管理,也很重要。
Spring在框架整合这块已经做到了极致,它可以整合市面上几乎所有主流框架,比如MyBatis、MyBatis-plus、Struts、Struts2、Hibernat
学习Spring,主要学习IOC,整合Mybatis(IOC的具体应用),AOP,声明式事务(AOP的具体应用)
Spring能用以开发web、微服务以及分布式系统等。并不是单一的一个技术,包含很多技术。提供了若干个项目,每个项目用于完成特定的功能。重点关注Spring Framework、SpringBoot和SpringCloud
Spring Framework:Spring框架,Spring中最早最核心的技术,基础。
SpringBoot:帮助Spring在简化的基础上能更快速进行开发。
SpringCloud:做分布式,微服务架构的相关开发。
IOC:Inversion of Control,控制反转
使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,反转了数据层对象的创建控制权
Spring技术对IOC思想进行了实现,提供了一个容器,称为IOC容器,用来充当IOC思想中的"外部"。
IOC容器负责对象的创建、初始化等一系列工作,其中包含了数据层和业务层的类对象。这些的对象在IOC容器中统称为Bean。
DI:Dependency Injection,依赖注入,在容器中建立bean与bean之间的依赖关系的整个过程
综上,使用IOC容器管理bean、在IOC容器内将有依赖关系的bean进行关系绑定,最终,使用对象时不仅可以直接从IOC容器中获取,并且获取到的bean已经绑定了所有的依赖关系。
理解了思想,接下来实现:
如何将被管理的对象告知IOC容器? 使用配置文件
如何获取到IOC容器? Spring框架提供相应的接口
如何从容器中获取bean? 调用Spring提供对应接口中的方法