Spring
文章平均质量分 78
喵先森爱吃鱼
这个作者很懒,什么都没留下…
展开
-
Spring注解驱动开发_AOP 原理(二)
本篇文章重点介绍 Spring AOP 的执行流程以 debug 方式运行该测试方法一、创建 AnnotationConfigApplicationContext 实例public class AnnotationConfigApplicationContext extends GenericApplicationContext implements AnnotationConfigRegistry { public AnnotationConfigApplicationContext() {原创 2022-04-05 23:13:26 · 649 阅读 · 0 评论 -
Spring注解驱动开发_AOP 原理(一)
一、AOP 基础知识1、Spring AOP 底层是基于动态代理实现的,AOP 是指在程序运行期间动态的将某段代码切入到制定方法指定位置进行运行的编程方式。2、通知(增强)(1)实际增强的逻辑部分称为通知(增强)(2)通知有多种类型前置通知(Before):在目标方法被调用之前调用通知功能后置通知(After):在目标方法完成之后调用通知,此时不会关心方法的输出是什么返回通知(After-returning):在目标方法成功执行之后调用通知异常通知(After-throwing):在目标方原创 2022-04-03 22:41:18 · 516 阅读 · 0 评论 -
Spring 注解驱动开发_自动装配
一、Autowired原创 2022-03-28 13:45:47 · 353 阅读 · 0 评论 -
Spring 注解驱动开发_属性赋值
一、@Value 注解@Value 注解支持以下几种赋值方式:基本数值支持 SpEl:#{}可以取出配置文件中的值:${}创建实体类 Personpackage org.example.pojo;import org.springframework.beans.factory.annotation.Value;public class Person { @Value("张三") private String name; @Value("#{20 - 2}")原创 2022-03-28 12:55:21 · 239 阅读 · 0 评论 -
Spring 注解驱动开发_生命周期-BeanPostProcessor 原理及在 Spring 底层的使用
本节主要来探讨一下 BeanPostProcessor 的执行流程。一、基础环境实体类 Carpackage org.example.pojo;import org.springframework.beans.factory.DisposableBean;import org.springframework.beans.factory.InitializingBean;import javax.annotation.PostConstruct;import javax.annotation原创 2022-03-28 02:00:17 · 623 阅读 · 0 评论 -
Spring 注解驱动开发_生命周期
bean 的生命周期意思是指从 Bean 创建,到 Bean 初始化,再到销毁的过程Spring IoC 容器管理 bean 的生命周期,我们可以自定义初始化和销毁方法,容器在 bean 进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。一、@Bean 指定初始化和销毁方法1.1 创建实体类 Car,在实体类中创建初始化方法以及销毁方法package org.example.pojo;public class Car { public Car(){ Syste原创 2022-03-26 23:57:28 · 458 阅读 · 0 评论 -
Spring 注解驱动开发_组件注册-使用 FactoryBean 注册组件
一、FactoryBean 接口package org.springframework.beans.factory;import org.springframework.lang.Nullable;public interface FactoryBean<T> { String OBJECT_TYPE_ATTRIBUTE = "factoryBeanObjectType"; @Nullable T getObject() throws Exception; @Nullab原创 2022-03-26 23:17:12 · 544 阅读 · 0 评论 -
Spring 注解驱动开发_组件注册-@Import 注解
一、@Import 注解介绍@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Import { /** * value 值可以是 @Configuration注解类,或者 ImportSelector 以及 ImportBeanDifinitionRegistrar 的实现类,或者一些常规的组件类 */ Class<?>[] value();}原创 2022-03-26 22:37:58 · 602 阅读 · 0 评论 -
Spring 注解驱动开发_组件注册-@Conditional 注解
一、@Conditional 注解注解定义:@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Conditional { // 必须满足所有的条件才能被注册到 IoC 容器中 // value 属性值是一个继承自 Condition 接口的子类 Class<? extends Condition>[] val原创 2022-03-24 23:45:01 · 735 阅读 · 0 评论 -
Spring 注解驱动开发_组件注册-@ComponentScan 注解
一、@ComponentScan 自动扫描组件1、首先创建 BookController、BookService 以及 BookDaopackage org.example.controller;import org.springframework.stereotype.Controller;@Controllerpublic class BookController {}package org.example.service;import org.springframework.原创 2022-03-22 23:14:05 · 460 阅读 · 0 评论 -
Spring注解驱动开发_组件注册-@Configuration&@Bean给容器中注册组件
一、Spring IoC 和 DIIoC(Inversion of Control):控制反转,是一种设计思想,即将对象的控制权交由Spring进行管理,在以往程序中,当我们需要使用某一个对象时,是由我们自己在程序中通过 new 进行创建的,而在 Spring 中,Spring 提供了 IoC 容器来对对象的创建进行管理。DI(Dependency Injection):提及 IoC,就必须提到另一个概念依赖注入,在以往的程序中,对象的属性以及对象之间的依赖是由我们自己进行控制和注入的,而 IoC 容器原创 2022-03-22 22:02:00 · 405 阅读 · 0 评论 -
Spring 执行流程以及部分重要接口
一、Spring执行流程二、Spring 接口原创 2022-03-20 23:15:29 · 816 阅读 · 0 评论 -
Spring 事务总结
原创 2022-03-13 20:11:06 · 356 阅读 · 0 评论 -
Spring 事务管理
一、什么是事务数据库事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么一起成功,要么一起失败,是一个不可分割的工作单元。Spring 的事务控制是属于 Spring Dao 模块的。一般地,我们事务控制都是在 Service 层做的。为什么是在 Service 层而不是在 Dao 层呢?Service 层是业务逻辑层,Service 层的方法一旦执行成功,那么说明该功能没有出错。一个 Service 方法可能要调用 Dao 层的多个方法。如果在 Dao 层做事务控制的话,一个 Dao 方法出错了原创 2022-03-06 22:08:43 · 1412 阅读 · 0 评论 -
Spring IOC 底层实现
核心技术点:XML解析 + 反射 + 工厂模式具体思路:1、根据需求编写 XML 文件,配置需要创建的 bean。2、编写程序读取 XML 文件,获取 bean 相关信息,类、属性、id。3、根据第 2 步获取到的信息,结合反射机制动态创建对象,同时完成属性的赋值。4、将创建好的 bean 存入到 Map 集合,设置 key-value 映射,key 就是 bean 中的 id 值,value 就是 bean 对象。5、提供方法从 Map 中通过 id 获取到对应的 value。创建实体类:原创 2021-12-09 23:58:39 · 312 阅读 · 0 评论 -
Spring JdbcTemplate
一、什么是 JdbcTemplateSpring 框架对 JDBC 进行了封装,使用 JdbcTemplate 方便实现对数据库的操作。二、准备工作2.1 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaL原创 2022-03-03 23:55:02 · 659 阅读 · 2 评论 -
Spring之 AOP
一、AOP 概念1、什么是 AOP(1)面向切面编程,利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑个部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。(2)通俗的描述:不通过修改源代码的方式,在主干功能里面添加新功能二、AOP 底层原理1、AOP 底层使用动态代理(1)有两种情况动态代理第一种 有接口情况,使用 JDK 动态代理创建接口实现类代理对象,通过代理对象增强类中的方法代理对象应当具备 UserDaoImpl 的所有功能,并在此基础上进行功能扩原创 2021-11-25 23:42:08 · 359 阅读 · 0 评论 -
Spring 之 IOC(三)
基于注解方式1、什么是注解注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值…)注解可以坐拥在类上面,方法上面,属性上面使用注解的目的:简化 xml 配置2、Spring 针对 Bean 管理中创建对象提供注解@Component@Service@Controller@Repository这四个注解功能是一样的,都可以用来创建 bean 实例。3、基于注解方式实现对象创建(1)引入依赖:spring-aop-5.2.6.RELEASE.jar(2)开原创 2021-11-22 22:32:28 · 235 阅读 · 0 评论 -
Spring之IOC(二)
一、IOC操作 Bean 管理(FactoryBean)Spring 有两种类型 bean,一种普通 bean,另一种工厂 bean(FactoryBean)普通 bean:在配置文件中定义的 bean 类型就是返回类型工厂 bean:在配置文件中定义的 bean 类型可以和返回类型不一样第一步:创建类,让这个类作为工厂 bean,实现接口 FactoryBean第二步:实现接口里面的方法,在实现的方法中定义返回的 bean 类型Course 类public class Course {原创 2021-11-16 22:54:47 · 588 阅读 · 0 评论 -
Spring之IOC(一)
一、概念和原理1、什么是IOC(1)IOC:控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理。(2)使用 IOC 的目的:为了降低耦合度。2、IOC底层原理xml解析、工厂模式、反射(1)xml 配置文件,配置创建的对象 <bean id="dao" class="com.atguigu.UserDap"></bean>(2)Service类和dao类,创建工厂类class UserFactory{ public static UserDa原创 2021-11-09 22:53:52 · 202 阅读 · 0 评论 -
Spring框架概述
Spring5 框架概述1、Spring 是轻量级的开源的 JavaEE 框架。2、Spring 是为了解决企业级应用开发的复杂性而创建。3、Spring有两个核心部分:IOC 和 AOP(1)IOC:控制反转,把创建对象的过程交给 Spring 进行管理。(2)AOP:面向切面,不修改源代码进行功能增强。4、Spring的特点:方便解耦,简化开发AOP 编程支持方便程序测试方便和其他框架进行整合方便进行事务操作降低 API 开发难度...原创 2021-10-26 23:07:09 · 109 阅读 · 0 评论