spring
文章平均质量分 67
勤径苦舟
书山有路勤为径,学海无涯苦作舟。
展开
-
spring源码--10--IOC高级特性--autowiring实现原理
spring源码–10–IOC高级特性–autowiring实现原理1、Spring IoC容器提供了2种方式 管理Bean的依赖关系1.1、显式管理通过BeanDefinition的属性值和构造方法实现Bean依赖关系管理。1.2、autowiring(自动装配)不需要对Bean属性的依赖关系做显式的声明,只需要在配置好autowiring属性,IoC容器会自动使用反射查找属性的类型和名称,然后基于属性的类型或者名称来自动匹配容器中管理的Bean,从而自动地完成依赖注入。对Bean的自动装配原创 2022-01-21 15:35:24 · 128 阅读 · 0 评论 -
spring源码--09--IOC高级特性--BeanPostProcessor后置处理器的实现
spring源码–09–IOC高级特性–BeanPostProcessor后置处理器的实现1、BeanPostProcessor后置处理器是一个监听器,可以监听容器触发的Bean声明周期事件。后置处理器向容器注册以后,容器中管理的Bean就具备了接收IoC容器事件回调的能力。BeanPostProcessor的使用非常简单,只需要提供一个实现接口BeanPostProcessor的实现类,然后在Bean的配置文件中设置即可。2、源码 public interface B原创 2022-01-21 15:34:59 · 531 阅读 · 0 评论 -
spring源码--08--IOC高级特性--FactoryBean创建实例
spring源码–08–IOC高级特性–FactoryBean创建实例1、介绍1.1、BeanFactory介绍Bean工厂,是一个工厂(Factory)Spring IoC容器的最顶层接口就是BeanFactory作用就是管理Beanbean实例化bean定位配置应用程序中的对象及建立这些对象间的依赖。1.2、FactoryBean介绍工厂Bean,是一个Bean作用是产生其他bean实例。通常情况下,这种bean没有什么特别的要求,仅需要提供一个工厂方法,该原创 2022-01-21 15:34:13 · 651 阅读 · 0 评论 -
spring源码--07--IOC高级特性--lazy-init实现预实例化
spring源码–07–IOC高级特性–lazy-init实现预实例化1、开始位置 public abstract class AbstractApplicationContext extends DefaultResourceLoader implements ConfigurableApplicationContext { @Override // 在创建IOC容器前,如果已经有容器存在,则需要把已有的容器销毁和关闭,在重新建立新容器。 // 在新建立的容器中,对容器进行原创 2022-01-21 15:33:42 · 404 阅读 · 0 评论 -
spring源码--06--DI原理--FileSystemXmlApplicationContext
依赖注入1、 验证过程代码地址https://gitee.com/DanShenGuiZu/learnDemo/tree/master/spring源码学习/spring-source-learn/spring-011.1、验证代码public class Test3 { public static void main(String[] args) { String xmlPath = "D:\\java\\workSpace-learn\原创 2022-01-21 15:33:06 · 977 阅读 · 0 评论 -
spring源码--05--IOC原理--FileSystemXmlApplicationContext(IOC容器)的初始化(细)
spring–05–IOC原理–FileSystemXmlApplicationContext(IOC容器)的初始化(细)1、 验证过程代码地址https://gitee.com/DanShenGuiZu/learnDemo/tree/master/spring源码学习/spring-source-learn/spring-011.1、验证代码public class Test2 { public static void main(String[] args) {原创 2021-10-29 09:49:48 · 299 阅读 · 0 评论 -
spring源码--04--IOC原理--XmlBeanFactory(IOC容器)的初始化(不细)
XmlBeanFactory(IOC容器)的初始化(不细)1、 验证过程代码地址https://gitee.com/DanShenGuiZu/learnDemo/tree/master/spring源码学习/spring-source-learn/spring-011.1、验证代码package com.example.spring01.test;import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;im原创 2021-10-29 09:46:27 · 109 阅读 · 0 评论 -
spring源码--03--IOC原理--IOC初始化过程和ApplicationContext
IOC初始化过程和ApplicationContext一、IOC容器初始化过程BeanDefinition的Resource定位BeanDefinition的载入BeanDefinition的注册二、 ApplicationContext我们将使用ApplicationContext讲解IOC容器初始化过程。具体的IOC容器是1. XmlBeanFactory2. FileSystemXmlApplicationContext。2.1、 ApplicationContext 继承关系原创 2021-10-29 09:44:50 · 164 阅读 · 0 评论 -
spring源码--02--IOC原理--IOC体系结构
IOC体系结构一、BeanFactorySpring Bean的创建是工厂模式这一系列的Bean工厂(IOC容器)为开发者管理对象间的依赖关系提供了很多便利和基础服务。1.1、为何要定义这么多层次的接口?每个接口都有自己的使用场景,它主要是为了区分 对象传递和转化过程中,对对象的数据访问所做的限制。举例如下1.1.1、ListableBeanFactory 接口表示这些 Bean 是可列表的1.1.2、HierarchicalBeanFactory 接口表示的是这些 Bean 是有继原创 2021-10-29 09:42:25 · 163 阅读 · 1 评论 -
spring源码--01--IOC原理--什么是IOC,DI
什么是IOC/DI一、什么是IOC/DI?主要完成对象的创建和依赖的注入。通过xml,properties文件等配置文件来描述容器内的对象配置文件位置classpathfilesystemURL 网络资源servletContext所有配置文件最终都转化成统一的对象定义,即BeanDefinition...原创 2021-10-29 09:40:10 · 95 阅读 · 0 评论 -
spring--基础--08--spring事务
建议不要在接口或者接口方法上使用该注解,因为这只有在使用基于接口的代理时它才会生效。可以作用于接口、接口方法、类以及类方法上。应该只被应用到public方法上。原创 2020-10-04 10:37:48 · 1012 阅读 · 0 评论 -
spring--基础--07--JDBC框架
七 Spring JDBC框架使用普通的JDBC数据库时,要写很多与业务无关的代码来处理异常,打开和关闭数据库连接等。Spring JDBC框架负责所有的低层细节,从开始打开连接,准备和执行SQL语句,处理异常,处理事务,到最后关闭连接。你所做的是定义连接参数,指定要执行的SQL语句,每次迭代完成所需的工作。7.1 JdbcTemplate类SQL查询更新语句和存储过程调用执行迭代结果集提取返回参数值。可捕获JDBC异常并转换它们到org.springfram原创 2020-10-04 10:35:25 · 193 阅读 · 0 评论 -
spring--基础--06--Spring框架的AOP
面向切面编程当执行一个方法时,可以在方法执行之前或之后添加额外的功能。原创 2020-09-20 20:38:43 · 288 阅读 · 0 评论 -
spring--基础--05--基于注解的配置
五 基于注解的配置@Required:应用于bean属性的setter方法。@Autowired:应用到bean属性的setter方法,非setter方法,构造函数和属性。@Qualifier:指定确切的的bean, @Autowired和@Qualifier注解可以用来删除混乱。JSR-250Annotations:支持JSR-250的基础的注解@Resource@PostConstruct@PreDestroy<?xml version="1.0" encoding=原创 2020-09-20 20:32:28 · 213 阅读 · 0 评论 -
spring--基础--04--Beans自动装配
四 Beans 自动装配(不建议使用)我们学会如何使用元素来声明bean和通过使用XML配置文件中的和元素来注入。自动装配就是在不使用和元素的情况下自动装配bean。01 自动装配方式byName:属性名(PName)自动装配。从bean中找到对应属性的名称PName,PName和xml中的bean的id或者name进行匹配。匹配成功,注入匹配的bean。匹配失败,它将抛出异常。byType:由属性类型自动装配。从bean中找到对应属性的类型(Ptype),Ptype原创 2020-09-20 20:12:46 · 131 阅读 · 0 评论 -
spring--基础--03--依赖注入(DI)
三 依赖注入(DI)管理Bean之间的依赖关系,比如说A类中含有B类。3.1 依赖注入方式1. 基于带参构造函数的依赖注入2. 基于setter方法的依赖注入,调用bean的setter方法来实现的。01 基于带参构造函数的依赖注入输出:..... Creating shared instance of singleton bean 'hello8_1'Hello8--->helloword02 基于setter方法的依赖注入03 内部Beansbean的范围原创 2020-09-20 20:09:19 · 283 阅读 · 0 评论 -
spring--基础--02--IoC容器
二 Spring IoC 容器2.1 IoC 容器管理对象的生命周期,从创建到销毁。使用依赖注入(DI)来管理组成一个应用程序的组件。对象被称为 Spring Beans2.2 IoC 容器的类型01 BeanFactory容器最简单的容器,给DI提供了基本的支持,用org.springframework.beans.factory.BeanFactory接口来定义。BeanFactory和相关的接口,比如BeanFactoryAware、DisposableBean、Initial原创 2020-09-20 16:34:22 · 209 阅读 · 0 评论 -
spring--基础--01--概述
一 概述1.1 三层架构表现层:controller业务层:service持久层:dao1.2 特性控制反转:将对象的创建权交给Spring去创建。依赖注入:依赖的对象不需要手动调用setXX 方法去设置,而是通过配置赋值。面向切面编程:AOP1.3体系结构01 核心容器spring-core提供了框架的基本组成部分,包括 IoC 和依赖注入功能spring-beans提供BeanFactory,工厂模式的微妙实现。spring-context原创 2020-09-20 16:25:08 · 155 阅读 · 0 评论 -
Spring之任务调度Scheduled
Scheduled调度案例配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns:task="http://www.springframework.org/schema/task" xmlns="http://www.springframework.org/schema/beans" xmlns...原创 2018-07-22 15:41:07 · 210 阅读 · 0 评论 -
Spring中Interceptor和Filter区别
本质区别Interceptor:基于Java的反射机制filter:基于函数回调。从灵活性上说拦截器功能更强大些,Filter能做的事情,Interceptor都能做,而且可以在请求前,请求后执行,比较灵活。其他区别 filter Interceptor 调用次数 只能在容器初始化时调用一次 可以被多次调用 规范 依赖于Servlet容器...原创 2018-11-09 00:13:17 · 457 阅读 · 0 评论