一篇文章带你掌握主流基础框架——Spring

这篇文章中我们将会介绍Spring的框架以及本体内容 , 包括核心容器 , 注解开发 , AOP以及事务等内容
那么简单说明一下Spring的必要性:
 

  • Spring技术是JAVAEE开发的必备技能 , 企业开发技术选型率高达90%!
  • Spring可以帮助简化开发 , 降低企业级开发的复杂度
  • Spring可以进行框架整合 , 高效整合其他技术 , 提高企业级应用开发与运行效率
 
Spring的核心内容:
 
  • IoC技术
  • DI技术
  • AOP
  • 事务处理
 
Spring可进行的框架整合:
 
  • MaBatis
  • MyBatis-plus
  • Struts
  • Struts2
  • Hibernate
 
在接下来的文章中 , 我们会学习Spring的框架思想 , 学习Spring的基本操作 , 结合案例熟练掌握
 
温馨提醒:在学习本篇文章前请先学习JavaWeb相关内容 (HTTP , Tomcat , Servlet , Request , Response , MVC , Cookie , Session , Ajax , Vue等内容)
初识Spring 
官网:Spring | Home
Spring发展至今已经形成了一套开发的生态圈 , Spring提供了相当多的项目 , 每个项目用于完成特定功能
一篇文章带你掌握主流基础框架——Spring

文章插图
 
我们常用的主流技术包括有:
 
  • Spring Framework:Spring框架
  • Spring Boot:Spring简化代码开发
  • Spring Cloud:Spring分布设计
Spring FrameWork系统架构 
在系统学习Spring之前 , 我们需要先来了解FrameWork系统结构
 
  • Spring FrameWork是Spring生态圈中最基本的项目 , 是其他项目的根基
 
一篇文章带你掌握主流基础框架——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产生对象 , 转换为由外部提供对象
Spring思想以及实现 
IoC(Inversion of Control)控制反转思想: