
spring
文章平均质量分 95
daliucheng
这个作者很懒,什么都没留下…
展开
-
Spring-Aop
Spring-Aop分析Aop的大体实现的思路,说明关键类的作用。例子配置package com.lc.proxy;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.EnableAspectJAutoProxy;@Confi原创 2022-02-27 17:53:53 · 247 阅读 · 0 评论 -
Spring-动态数据源
Spring-动态数据源动态数据源的原理得先说清。原理平常在使用Mysql的时候是通过JDBC的,得给一个url,userName,和password,如下: jdbc:mysql://localhost:3306/t_db1?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC一个url对应一个Connection对象,需要在url中指定需要连接的库。之后的Mysql的CRUD的操作都是通过Connectio原创 2022-02-26 18:20:09 · 6310 阅读 · 8 评论 -
Springboot启动分析
Springboot启动分析建议先看Spring-@ComponentScan分析SpringBoot的例子就不写了,最熟悉的代码如下:@SpringBootApplicationpublic class SimpleApplication { public static void main(String[] args) { SpringApplication.run(SimpleApplication.class,args); }}SpringApplication的作用是什么?@S原创 2022-02-24 19:56:46 · 499 阅读 · 0 评论 -
spring事务-2(事务传播级别组合说明)
Spring事务例子配置类package com.lc.jdbc;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.datasource.DataSourc原创 2022-02-23 00:35:39 · 656 阅读 · 1 评论 -
Spring事务-1
Spring事务例子配置类package com.lc.jdbc;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.datasource.DataSourc原创 2022-02-22 19:03:17 · 273 阅读 · 0 评论 -
Spring-@ComponentScan分析
Spring-@ComponentScan分析简述ComponentScan注解可以指定Spring Bean 扫描的基本路径。通过它指定的路径,可以加载这个路径下面所有的符合规则的Bean(比如说@Component注解标注的类,或者ManagedBean,Named)。将他们加载到Spring中,他的功能等同于Spring xml配置文件中的<context:component-scan>标签此外,在他基本的功能上,增加了资源的匹配操作,bean名字的生成,scope注解的解析,是否使原创 2022-01-18 22:22:34 · 1131 阅读 · 0 评论 -
cglib创建代理对象(3)
MethodProxy调用分析代码的开始,还是从第一篇的那个例子开始,代码我就不贴了。直接看MethodProxy他是在MethodInterceptor里面的入参,通过它可以调用原始的方法,也可以调用父类的方法,也可以调用同一个类型的不同对象。重点就是最后一个,他是可以调用同一个类型的不同对象的。方法分析create(Class, Class, String, String, String) public static MethodProxy create(Class c1, Class原创 2021-12-24 20:35:56 · 830 阅读 · 0 评论 -
cglib创建代理对象(2)
首先得从类图开始,总体流程说明:通常的使用是直接通过Enhancer来创建代理对象,Enhancer继承于AbstractClassGenerator,AbstractClassGenerator实现了ClassGenerator,ClassGenerator接口的作用是能够通过一个ClassVisitor来生成byte[]。在AbstractClassGenerator里面并没有直接实现了ClassGenerator#generateClass方法,而是给具体的实现类去实现,在不同的实现类里面能利原创 2021-12-24 20:28:34 · 994 阅读 · 0 评论 -
cglib创建代理对象(1)
cglib创建代理对象还是从一个的小demo开始例子被代理的类public class Bean{ public String sayHello(String name) { return "Bean.sayHello"; } private String privateSayHello(String name){ return "Bean.privateSayHello"; } public String lipu1()原创 2021-12-24 20:15:44 · 1347 阅读 · 0 评论 -
Spring——创建代理对象-Java Proxy方法分析(JdkDynamicAopProxy)
Spring——创建代理对象-Java Proxy方法分析(JdkDynamicAopProxy)开始从JdkDynamicAopProxy分析上面的类图是主体的思想。首先要创建代理对象,JDK创建代理对象的时候要传递一个InvocationHandle,JdkDynamicAopProxy自己实现了InvocationHandle。在调用invoke方法的时候,会通过AdvisedSupport调用AdvisorChainFactory获取一个由MethodIntercept组成的列表,调用的原创 2021-12-12 18:58:43 · 1392 阅读 · 1 评论 -
Spring——通过ProxyFactory来创建代理对象分析
Spring——通过ProxyFactory来创建代理对象分析这一篇文章旨在分析Spring中创建代理对象的环节中,最后一步创建代理代理对象的具体的操作。以及涉及到的相关的东西在开始之前,必须要清楚Spring关于代理的几个概念:切面,通知,连接点,切入点,织入,目标类。建议直接看官网-AOP Concepts都知道,Spring创建代理对象有两种方式, JDK-Proxy和Cglib-Proxy方式。在之前的文章中, 已经说了,如果是Jdk就要关注InvocationHandler。如果是Cglib原创 2021-12-12 18:54:06 · 2078 阅读 · 0 评论 -
spring——Java Proxy和Cglib两种方式方法嵌套调用时代理对象行为分析
spring——Java Proxy和Cglib两种方式方法嵌套调用代理失效分析主要分析在方法嵌套调用的时候,两种代理方式的不同的反应,此文是上一篇 Spring——配置类解析过程 配置 衍生物。此文不是Java proxy和Cglib使用的说明文。当然,文章的开始也是得从例子开始。文章的开始建议先读Jdk动态代理分析例子接口:public interface Action { String run(String name);}实现类public class TestBean imp原创 2021-12-05 23:42:24 · 1423 阅读 · 1 评论 -
Spring——配置类解析过程
Spring——配置类解析过程在使用的时候还是从下面的一个小demo开始demo很简单,直接使用AnnotationConfigApplicationContext,传递给他配置类。在解析配置类的时候,会有下面的两个大的步骤,先将这个配置类作为一个普通的Bean注册到Spring里面。在利用ConfigurationClassPostProcessor(BeanDefinitionRegistryPostProcessor的实现类)中的postProcessBeanDefinitionRegi原创 2021-12-05 18:34:50 · 1066 阅读 · 0 评论 -
Spring——BeanFactory和FactoryBean的区别
Spring——BeanFactory和FactoryBean的区别概述这俩在Spring中压根就完全不一样。在一些框架和Spring融合的时候使用FactoryBean。BeanFactory在日常用到的不多,取而代之的是ApplicationContext对象。区别BeanFactoryBeanFactory看这个名字就知道这是一个创建bean的工厂,还记得我很早很早之前看过的一本书《Spring in Action》第一版的时候,就介绍了BeanFactory和ApplicationCont原创 2021-12-01 19:15:06 · 678 阅读 · 0 评论 -
Spring-Lifecycle分析
Spring-Lifecycle分析简介Lifecycle接口在项目中看到过一眼,之前都不知道这个。这篇文章就来介绍介绍他。从类图看出,主要有三个接口,最主要的有Lifecycle和SmartLifecycle接口。首先要知道,Lifecycle接口的语义就是启动停止。所以,实现他的类,都是需要启动和停止的类,并且SmartLifecycle在他的语义上面,增加了Pahsed(我觉得分组更适合),和自动启动的功能。功能Lifecycle它是一个通用的接口,主要用于生命周期的控制操作。定义原创 2021-11-28 17:06:50 · 1425 阅读 · 0 评论 -
Spring-@Conditional分析
Conditional分析作用表示这个component是否有资格,能不能添加到BeanFactory中。在使用Conditional注解的时候,被Conditional标注的类,会调用到Conditional里面value里面的Condition的实现类,如果这些都为true,表示匹配,当前的bean就会添加到BeanFactory中,如果有一个为false,就不会添加进去。因为它的这个特殊的功能,在使用他的时候就可以在bean注册到beanfactory之前,做检查。比如像Conditional原创 2021-11-23 19:21:17 · 510 阅读 · 0 评论 -
从Servlet和SpringBoot整合理解父子容器
SpringBoot和Spring-web的容器分析在这篇开始之前,建议先看从Servlet和Spring-web整合理解父子容器 todo 之后换成掘金编码方式实现Web.xml配置通过上一篇的文章知道了,要实现Servlet和Spring-web融合,就需要在web.xml中主要配置两个东西ContextLoaderListenerDispatchServlet配置之后,就可以在Servlet容器启动的时候,创建WebApplicationContext。从而启动Spring容器。下面介原创 2021-11-18 22:30:27 · 859 阅读 · 0 评论 -
从Servlet和Spring-web整合理解父子容器
从Servlet和Spring-web整合理解父子容器这篇文章主要分为两个部分,spring和servlet的融合。怎么Servlet容器启动起来,我就可以用Spring了。从ServletContext和RootWebContext的关系理解Spring中的父子容器。现在Springboot作为Java开发的主力军,开箱即用的特性,并且大多数的人在pom文件中写的都是直接写spring-boot-starter-web,然后在主启动类上在写@SpringbootApplication,在写一个原创 2021-11-11 00:36:10 · 661 阅读 · 0 评论 -
Spring 定时任务@EnableScheduling解析
一切的开始(@EnableScheduling)先放上示例代码@Configuration@EnableSchedulingpublic class MainApplicationBootStrap { @Bean public Bride bride(){ return new Bride(); } public static void main(String[] args) throws IOException { AnnotationConfigApplicationC原创 2021-08-24 18:07:14 · 29825 阅读 · 0 评论 -
spring-boot 配置 Undertow 服务器中 请求体得大小
解决方式spring: servlet: multipart: max-request-size: 100MB分析过程前提某天突然发现来了这样得一个需求, 将图片变为base64 ,有两个服务,一个是a服务,一个是b服务,在a中上传图片,并且转换图片格式位base64,在通过fegin调用 b服务,b服务在做相关得操作,遇到了下面得两个问题fegin 调用得时候,采用post得方式,得将base64得字符串放在请求体中Undertow 能接受得请求体得大小feig原创 2021-03-08 10:53:57 · 3729 阅读 · 0 评论 -
spel表达式运算使用
spel表达式运算使用翻看公司代码,这一块不是很懂,查资料,记一下,还是太菜1. 常用的对象Expression: 表达式对象SpelExpressionParser:表达式解析器EvaluationContext:上下文2. 使用本文参考了下面的几篇文章https://www.cnblogs.com/shihuc/p/9338173.htmlhttps://blog.youkuaiyun.com/f641385712/article/details/90812967下面的例子主要是来源于第一原创 2020-07-30 10:23:23 · 801 阅读 · 0 评论 -
spring(5)
文章目录1. aop2. aop的专业名词3.一个aop的例子4.补充说明1. aop 大家想象,有这样的一个情景,演员表演,观众鼓掌的情景,在表演开始之前,观众安静,在演员表演之后,鼓掌叫好,在演出失败的时候观众鼓励演员。在生活中是这样,在程序中也有这样的情况,比如在JDBC访问数据库的时候,事务的提交总是很繁琐,一段很长很长的代码中,只有一点点的关...原创 2020-01-08 14:04:58 · 150 阅读 · 0 评论 -
Spring(4)
文章目录bean的外部属性文件的引用bean设置属性值bean的自动装配bean的外部属性文件的引用基于xml <!--导入一个配置文件在xml中----> <import>基于注解@ImportResource 导入一个xml配置文件@Import 导入一个配置类或者一个component例子<!----- 首先定义一个beans....原创 2020-01-05 21:21:24 · 132 阅读 · 0 评论 -
spring (3)
文章目录1. IOC容器的表现形式1.1 两个顶级接口1.2 applicationContext接口的实现类2. bean的作用域0)3. Bean的生命周期3.1 两个方法3.2 bean的后置处理器1. IOC容器的表现形式1.1 两个顶级接口BeanFactory:IOC 容器的基本实现,是 Spring 内部的基础设施,是面向spring内部的,并不是提供给开发人员用的,建...原创 2019-12-30 08:53:53 · 137 阅读 · 0 评论 -
Spring(2)
文章目录1. IOC && DI2. Bean的装配方式1. IOC && DISpring的核心就是DI和AOPAOP后面再讲DI 就是依赖注入 ,DI是怎么实现的?看下面的小demo分析假如有这样的一个类package day01;public class AnimalPrint { private Cat cat; ...原创 2019-12-29 22:35:55 · 131 阅读 · 0 评论 -
Spring(1)
文章目录1 Spring简介1.1 Spring概述1.2 Spring模块说明2 安装Spring3 第一个demo(helloWorld)1 Spring简介1.1 Spring概述具体的关于spring详细信息 看 Spring——百度百科在这里我就简单的讲一下Spring的特性Spring是一个轻量级 控制反转(IoC) 和面向切面(AOP)的容器框架这里有三个特点:...原创 2019-12-29 20:41:20 · 148 阅读 · 0 评论