![](https://img-blog.csdnimg.cn/321d48bd4a774daeb6b07fc5015efca7.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringFramework
文章平均质量分 94
Spring 从入门到精通系列教程
Xiu Yan
北漂程序员一枚,目前就职华为。
展开
-
Spring 从入门到精通系列 01 —— Spring概述与体系结构总结
文章目录一、Spring概述1.1 Spring 是什么1.2 Spring 的优势1.3 spring 的体系结构1.3.1 Core Container 核心容器1.3.2 Data Access/Integration 数据访问/集成1.3.3 Web1.3.4 其他二、程序的耦合及解耦2.1 程序的耦合2.2 工厂模式解耦一、Spring概述1.1 Spring 是什么 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IOC(Inverse ..原创 2021-05-31 23:11:07 · 436 阅读 · 1 评论 -
Spring 从入门到精通系列 02 —— 程序的耦合问题及工厂模式解耦
文章目录程序的耦合及解耦一、程序的耦合二、工厂模式解耦三、分析工厂模式中的问题并改造程序的耦合及解耦一、程序的耦合耦合:程序间的依赖关系包括,以下两个方面:类之间的依赖方法间的依赖解耦:降低程序间的依赖关系实际开发中:应该做到,编译期不依赖,运行时才依赖。解耦的思路:第一步:使用反射来创建对象,而避免使用new关键字。第二步:通过读取配置文件来获取要创建的对象全限定类名。注意:我们应该明确的是,不能彻底的解决依赖的问题,只能通过方式方法来降低依赖。那么我们下面通过例..原创 2021-05-31 23:59:31 · 356 阅读 · 4 评论 -
Spring 从入门到精通系列 03 —— 使用 Spring 的 IOC 解决程序耦合
本文针对 IOC 的概念与在 Spring 中如何使用 IOC 进行分析与讲解。文章目录一、IOC 的概念和作用二、使用 Spring 的 IOC 解决程序耦合2.1 Spring 基于 XML 的 IOC 环境搭建2.2 ApplicationContext 的三个实现类2.3 BeanFactory 和 和 ApplicationContext 的区别一、IOC 的概念和作用 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计原创 2021-06-01 02:02:09 · 331 阅读 · 0 评论 -
Spring 从入门到精通系列 04 —— Spring 中创建 bean 的三种方式
Spring 对 bean 的管理细节包括:创建 bean的三种方式、bean 标签的作用范围以及 bean 对象的生命周期,本文针对此部分进行分析与解读。文章目录一、创建bean的三种方式1.1 使用默认构造函数创建。1.2 使用普通工厂中的方法创建对象1.3 使用工厂中的静态方法创建对象二、bean 标签的作用范围调整三、bean 对象的生命周期一、创建bean的三种方式1.1 使用默认构造函数创建。在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属原创 2021-06-01 02:49:10 · 930 阅读 · 1 评论 -
Spring 从入门到精通系列 05 —— Spring 依赖注入的三种方式
本文针对 Spring 的依赖注入的概述以及三种注入方式进行分析和讲解。文章目录一、spring的依赖注入概述二、使用构造函数三、set 方法注入四、复杂类型的注入/集合类型的注入一、spring的依赖注入概述依赖注入:Dependency InjectionIOC的作用:降低程序间的耦合(依赖关系)依赖关系的管理:以后都交给 spring 来维护在当前需要用到其他类的对象,由 spring 为我们提供,我们只需在配置文件中说明依赖关系的维护:就称之为依赖注入能注入的数原创 2021-06-01 03:45:31 · 993 阅读 · 1 评论 -
Spring 从入门到精通系列 06 —— Spring 中的 IOC 常用注解
Spring 的 IOC 常用注解主要有用于创建对象的、用于注入数据的、用于改变作用范围的以及和生命周期相关的四部分,本文针对此块内容,进行深入分析与解读。文章目录Spring 中的 IOC 常用注解一、用于创建对象的1.1 Component1.2 Controller(一般用在表现层)1.3 Service(一般用在业务层)1.4 Repository(一般用于持久层)二、用于注入数据的2.1 Autowired2.2 Qualifier2.3 Resource2.4 Value:三、用于改变原创 2021-06-01 05:34:56 · 668 阅读 · 1 评论 -
Spring 从入门到精通系列 07 —— 基于XML与注解方式的IOC案例编写
本文使用 XML 方式和注解方式实现单表的 CRUD操作,连带巩固 IOC 配置过程。文章目录一、基于 XML 的 IOC 的案例1.1 导入依赖1.2 账户实体类1.3 业务层接口及实现类1.4 持久层接口及实现类1.5 bean.xml ★1.6 测试方法二、基于注解配置的 IOC 案例2.1 业务层接口实现类2.2 持久层接口实现类2.3 bean.xml ★一、基于 XML 的 IOC 的案例工程目录:1.1 导入依赖<dependencies> <dep原创 2021-06-01 23:36:46 · 239 阅读 · 2 评论 -
Spring 从入门到精通系列 08 —— 纯注解方式实现 IOC 案例与 Junit 整合
本文针对Spring使用纯注解开发,并对 Spring 整合 Junit 做了一定的分析。文章目录一、 spring中的新注解1.1 Configuration1.2 ComponentScan1.3 Bean1.4 Import1.5 PropertySource二、Spring 整合 Junit (了解)2.1 问题分析2.2 Spring 整合 junit配置一、 spring中的新注解1.1 Configuration作用: 指定当前类是一个配置类细节: 当配置类作为 Ann原创 2021-06-02 08:32:18 · 193 阅读 · 0 评论 -
Spring 从入门到精通系列 09 —— 转账方法的事务问题与动态代理
本文由转账方法中存在的事务问题引出事务控制的方法,最后简述动态代理方法,实现统一维护。文章目录一、转账方法的事务问题(了解)1.1 问题分析1.2 创建 ConnectionUtils类1.3 事务管理相关的工具类1.4 更新事务控制1.5 其他代码二、动态代理一、转账方法的事务问题(了解)1.1 问题分析为了说明事务问题,我们创建一个新的项目,并添加转账方法。账户的业务层接口及其实现类:/** * 账户的业务层实现类 */public class AccountServiceImp原创 2021-06-02 10:50:22 · 401 阅读 · 0 评论 -
Spring 从入门到精通系列 10 —— 使用 Spring 进行面向切面编程(AOP)
本文针对 AOP 的概念作用进行了分析,并且对基于 XML 与注解两种方式配置 AOP 进行了解读。文章目录一、AOP 概述1.1 什么是 AOP1.2 AOP 的作用及优势1.3 AOP 的实现方式1.4 Spring 中 AOP 的 相关术语二、Spring 中基于 XML 的 AOP 配置步骤 ★2.1 工程准备2.2 配置 AOP 步骤2.3 切入点表达式的写法2.3.1 切入点表达式的通常写法2.3.2 通用化切入点表达式2.4 四种常用类型通知与环绕通知2.4.1 四种常用类型通知2.4.原创 2021-06-02 15:43:19 · 286 阅读 · 1 评论 -
Spring 从入门到精通系列 11 —— Spring 中的 JdbcTemplate
本文针对 Spring 中的 JdbcTemplate 进行了分析,并实现对数据库的操作。文章目录一、JdbcTemplate 概述二、JdbcTemplate 对象的创建三、JdbcTemplate 的应用3.1 JdbcTemplate 的简单使用3.2 JdbcTemplate 的增删改查3.2 在 Spring 中应用 JdbcTemplate3.2.1 编写 spring 的配置文件3.2.1 配置数据源3.2.3 持久层及其实现类3.2.4 测试方法一、JdbcTemplate 概原创 2021-06-02 19:30:19 · 785 阅读 · 1 评论 -
Spring 从入门到精通系列 12—— Spring 中的事务控制
在 《Spring 从入门到精通系列 09——转账方法的事务问题与动态代理》 一文中,我们讲到了转账方法存在着事务问题,当在业务层方法更新转入账户时发现异常,更新收款方账户则会出错。 当时是通过自定义事务管理器进行整体事务的处理。其实Spring 提供了业务层的事务处理解决方案,并且 Spring 的事务控制都是基于 AOP 的。文章目录一、环境准备二、基于 XML 的事务控制Spring 中基于 xml 的声明式事务控制配置步骤 ★ 三、基于注解的事务控制Spring 中基于 xml 的声明式原创 2021-06-02 23:07:39 · 479 阅读 · 8 评论