一篇文章带你掌握主流基础框架——Spring这篇文章中我们将会介绍Spring的框架以及本体内容,包括核心容器,注解开发,AOP以及事务等内容
那么简单说明一下Spring的必要性:
- Spring技术是JavaEE开发的必备技能 , 企业开发技术选型率高达90%!
- Spring可以帮助简化开发,降低企业级开发的复杂度
- Spring可以进行框架整合,高效整合其他技术,提高企业级应用开发与运行效率
- Ioc技术
- DI技术
- AOP
- 事务处理
- MaBatis
- MyBatis-plus
- Struts
- Struts2
- Hibernate
温馨提醒:在学习本篇文章前请先学习JavaWeb相关内容初识Spring官网:Spring | Home
(HTTP,Tomcat,Servlet,Request,Response,MVC,Cookie,Session,Ajax,Vue等内容)
Spring发展至今已经形成了一套开发的生态圈 , Spring提供了相当多的项目,每个项目用于完成特定功能
文章插图
我们常用的主流技术包括有:
- Spring Framework:Spring框架
- Spring Boot:Spring简化代码开发
- Spring Cloud:Spring分布设计
- Spring FrameWork是Spring生态圈中最基本的项目,是其他项目的根基
文章插图
我们现在所使用的Spring FrameWork是4.0版本,已经趋于稳定
下面我们对架构图进行解释:
- Core Container:核心容器
- AOP:面向切面编程
- Aspects:AOP思想实现
- Data Access:数据访问
- Data Intergration:数据集成
- Web:Web开发
- Test:单元测试与集成测试
- 强大的基于 JavaBeans 的采用控制反转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组建更加快捷简易 。
- 数据库事务的一般化抽象层 , 允许插件式事务管理器 , 简化事务的划分使之与底层无关 。
- 一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂 。
// 数据层接口public interface BookDao {public void save();}
// 数据层实现public class BookDaoImpl implements BookDao {public void save() {System.out.println("book dao save ...");}}
// 业务层接口public interface BookService {public void save();}
// 业务层实现public class BookServiceImpl implements BookService {private BookDao bookDao;public void save() {bookDao.save();}}
如果我们修改BookDaoImpl内容,那么相对应的业务层实现中的bookDao的new实现也要进行修改,甚至下方方法的对象也要进行修改Spring使用前问题代码书写现状:
- 耦合度偏高
- 使用对象时 , 在程序中不要主动使用new产生对象,转换为由外部提供对象
- 使用对象时,由主动new创建对象转换为由外部提供对象
- 此过程中对象创建控制权由程序转移到外部,被称为控制反转
- 在容器中建立Bean与Bean之间的依赖关系和整个过程,被称为依赖注入
- Spring提供了一个容器,被称为Ioc容器,用来充当IoC思想的外部
- IoC容器负责对象的创建,初始化等一系列工作,被创建和管理的对象在IoC容器中被称为Bean
// 数据层实现public class BookDaoImpl implements BookDao {public void save() {System.out.println("book dao save ...");}}
// IoC容器/*包含daoservice两者可以建立连接*/
// 业务层实现public class BookServiceImpl implements BookService {private BookDao bookDao;public void save() {bookDao.save();}}
目的:充分解耦- IoC:使用IoC容器管理bean
- DI:在IoC容器内将有依赖关系的bean进行关系绑定
- 使用对象不仅可以直接从IoC容器中获?。箍梢越鸦竦玫腂ean之间绑定依赖关系
推荐阅读
- 怎么玩军棋(军棋新手教程)
- ipad怎么打开分屏(ipad怎么分屏打游戏)
- ipad分屏怎么恢复(ipadair2能不能分屏)
- ipad如何打开分屏模式(ipad分屏取消的方法)
- ipad分屏怎么打开(ipad第九代分屏功能)
- ipad如何设置分屏(ipad九代分屏操作方法)
- iPad分屏怎么用(ipadpro怎么分屏)
- ipad如何左右分屏(ipad第五代可以分屏吗)
- 手机指南针怎么看(指南针怎么看方向)
- 指南针怎么看方向(指南针罗盘)