![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 60
春
春华秋月何事秋风悲画扇
这个作者很懒,什么都没留下…
展开
-
Spring的Environment|ConditionalOnProperty
env原创 2022-08-14 13:57:33 · 180 阅读 · 0 评论 -
Spring的循环依赖
循环依赖原创 2022-08-09 15:43:22 · 158 阅读 · 0 评论 -
sentinel
Sentinel实战:为系统做限流保护我们已经知道了 Sentinel 的三大功能:限流降级系统保护。现在让我们来了解下具体的使用方法,以限流来演示具体的步骤。引入依赖首先肯定是要先引入需要的依赖,如下所示:<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-core</artifactId> <version&..原创 2022-05-02 00:30:12 · 222 阅读 · 0 评论 -
跟着尚硅谷学习微服务
1、服务治理springcloud封装了Netflix的Eureka模块来实现服务治理在传统的rpc远程调用框架中,管理每一个服务与服务之间依赖关系比较复杂,所以需要使用服务治理,可以实现服务调用、负载均衡、容错等,实现服务发现于注册。Eureka采用CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接。这样系统的维护人员就可以通过Eureka Server来监控系统中原创 2022-02-23 23:49:27 · 161 阅读 · 0 评论 -
定时任务@Scheduled
spring自带的定时任务参考博客:https://zhuanlan.zhihu.com/p/92768652https://gitee.com/northersong_admin/schedulehttps://www.cnblogs.com/skychenjiajun/p/9057379.htmlhttps://blog.csdn.net/weixin_39822629/article/details/111607932https://blog.csdn.net/z55887原创 2021-08-08 20:10:19 · 94 阅读 · 0 评论 -
Spring事务失效的场景
涉及到多表操作时,为了保证业务数据的一致性,一般会采用事务机制。1、注解@Transactional配置的方法用非public权限修饰2、注解@Transactional所在类非Spring容器管理的bean3、注解修饰的方法被类的内部方法调用4、业务代码抛出异常类型,非RunTimeExecption在@Transactional注解中,如果不配置rollbackFor属性,那么只有在方法抛出运行时异常时,才会回滚;如果配置属性rollbackFor=Execption.class原创 2021-07-13 16:27:18 · 56 阅读 · 0 评论 -
Spring中的Bean是线程安全的吗?
结论:不是线程安全的!容器本身并没有提供Bean的线程安全策略,但是还要结合具体Scope的Bean去研究。原型Bean(prototype)每次创建一个新对象,也就是线程之间并不存在Bean共享,自然是不会有线程安全的问题。单例Bean(singleton)所有线程共享一个单例实例Bean,因此存在资源的竞争。如果单例Bean是一个无状态的Bean,也就是线程中的操作不会对Bean的成员执行查询以外的操作,那这个单例Bean是线程安全的。但是如果Bean有状态,就需要开发人员自原创 2021-06-28 22:11:41 · 2002 阅读 · 0 评论 -
BeanDefinitionRegistryPostProcessor
动态注册bean到spring容器原创 2021-06-06 14:53:14 · 174 阅读 · 0 评论 -
InstantiationAwareBeanPostProcessor接口介绍
单词 含义 Instantiation 表示实例化,对象还未生成 Initialization 表示初始化,对象已经生成 1、postProcessBeforeInstantiation:自身方法,是最先执行的方法,它在目标对象实例化之前调用,该方法的返回值类型是Object,我们可以返回任何类型的值。由于这个时候目标对象还未实例化,所以这个返回值可以用来代替原本该生成的目标对象的实例(比如代理对象)。如果该方法的返回值代替原本该生成的目标对象,后续只有postPro.原创 2021-05-20 23:08:13 · 122 阅读 · 0 评论 -
Spring对事务管理的支持
1、事务管理关键抽象在spring事务管理SPI(service provider interface)的抽象层主要包括3个接口:PlatformTransactionManager 根据TransactionDefinition 提供的事务属性配置信息创建事务,并用 TransactionStatus描述这个激活事务的状态。TransactionDefinition 用于描述事务的隔离级别、超时时间、是否为只读事务和事务传播规则等 控制事务具体行为的事务属性,这些事务属性,可以通过XML配..原创 2021-03-31 23:13:04 · 101 阅读 · 0 评论 -
MapperScannerConfigurer
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"><property name="mapperInterface" value="com.bijian.study.dao" /><property name="sqlSessionFactory" ref="sqlSessionFactory" /></bean>MapperFactoryBea..原创 2021-03-24 23:24:53 · 213 阅读 · 0 评论 -
spring aop各种定义方式的总结
各种切面类型的总结本质都是相同的,都是定义切点和增强,不同的只是在表现形式上混合使用4种切面类型底层实现技术一样,都是使用基于CGLIB和JDK的动态代理,所以在同一个spring项目种,可以混合使用spring使用 org.springframework.aop.Advisor接口表示切面的概念1、静态普通方法名匹配切面自动创建代理在前面的例子种,都是通过ProxyFactoryBean创建织入切面的代理,每一个需要被代理的类,都需要使用一个Prox...原创 2021-03-23 23:12:49 · 90 阅读 · 0 评论 -
AspectJ的切点表达式语言
AspectJ5.0的切点表达式由关键字和操作参数组成。原创 2021-03-22 22:49:22 · 255 阅读 · 0 评论 -
AnnotationAwareAspectJAutoProxyCreator
@Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean != null) { Object cacheKey = getCacheKey(bean.getClass(), beanName); if (!this.earlyProxyReferences.contains(cacheKey)) {.原创 2021-03-22 22:40:14 · 115 阅读 · 0 评论 -
Bean的加载流程
1、解析bean definitions并注册到当前beanfactory中2、从1中找到所有已注册的singleton bean definitions,遍历,实例化得到singleton beans,解析bean definitions的流程注册bean definitions的过程解析默认元素的过程解析自定义元素的过程...原创 2021-03-19 00:16:08 · 58 阅读 · 0 评论 -
JSR303校验
JSR303时java为bean数据合法性校验所提供的一个标准规范,叫做Bean Validation。用于对Java Bean中的字段值进行验证。官方参考实现是Hibernate Validator。Bean Validation为JavaBean验证定义了相应的元数据类型和API。在应用程序中,通过在Bean属性上标注类似于@Notnull的注解指定校验规则,并通过标注的验证接口对Bean进行校验。Bean Validation是一个运行时的数据验证框架,在验证之后,验证的错误信息...原创 2021-03-04 23:20:01 · 324 阅读 · 1 评论 -
Spring的监听器
事件监听 -- 观察者模式1、首先新建一个自己的事件public class MyApplicationEvent extends ApplicationEvent { public MyApplicationEvent(Object source) { super(source); }}2、再实现一个自己的监听器public class MyListener implements ApplicationListener<MyApplication原创 2021-03-03 00:01:21 · 108 阅读 · 0 评论 -
默认标签的解析
q原创 2020-08-16 03:37:54 · 97 阅读 · 0 评论 -
aop初级
1、动态代理idea使用小技巧:分隔-类名-右键-split//用这个类,自动生成代理类public class ProxyInvocationHandler<T> implements InvocationHandler { private T p; public ProxyInvocationHandler(T p) { this.p = p; }...原创 2020-07-07 14:53:19 · 234 阅读 · 0 评论 -
初级spring
1、官网https://docs.spring.io/spring/docs/5.2.5.RELEASE/spring-framework-reference/core.html#spring-core2、idea中设置spring的绿叶子标志2.1、在xml文件的右上角会有 config application context的提示2.2、project structure ...原创 2020-04-12 00:46:46 · 135 阅读 · 0 评论