切面 注解spring aop

AOP底层原理-Cglib动态代理

public class App { public static void main(String[] args) { UserService userService = UserServiceCglibProxy.createUserServiceCglibProxy(UserServiceImp ......
底层 原理 动态 Cglib AOP

Servlet注解的使用,简化配置 以及,使用模板方法设计模式优化oa项目

Servlet注解的使用,简化配置 以及,使用模板方法设计模式优化oa项目 每博一文案 有句谚语说:“一怒之下踢石头,只有痛着脚趾头。” 比一件糟糕的事情更可拍的,是你用糟糕的态度去面对它。看过一个很有意思的故事: 有个男人清早洗漱的时候,把自己的手表放在了桌子上。他的儿子不小心把手表碰倒地上摔坏了 ......
设计模式 注解 模板 Servlet 模式

java/spring项目打成jar包供第三方引用方案

分类 单独工具类 比如StringUtils 注入类工具类 实现 单独工具类 将项目打jar包 项目结构 开始打包: 在目标项目中pom引用直接使用 注入类工具类 当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们就不得不考虑我们的组件能否被使用者正确引入使用,本文章讲解的是项 ......
第三方 方案 项目 spring java

什么是Spring、Springboot、Springcloud,他们的优缺点是什么?

1.什么是Spring Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及We ......
优缺点 Springcloud Springboot Spring

[Spring6.0源码解析]简述@Configuration注解

@Configuration 标注在类上,启动 Spring 会自动扫描@Configuration注解的类,将其注册到IOC容器并实例化bean对象。如果在@Configuration注解的类中使用@Bean注解某个类对象的方法,Spring也会自动将注解了@Bean的方法注册到IOC容器,并进行 ......
注解 Configuration 源码 Spring6 Spring

《Spring揭秘》-第二章- 学习记录

1、IoC的理念 IoC全称为Inversion of Control,中文翻译为控制反转,同时还有一个别名叫 依赖注入DI(Dependency Injection)。大多将IoC与DI看作同等概念,也有部分观点认为 依赖注入可以看作IoC的一种实现方式。 在没有Spring的时候,当我们需要依赖 ......
第二章 Spring

spring boot单库动态分表实现【增删查】(含源码)

一.背景 现实场景中当个别业务数据量过大时会影响系统功能性能,当整个业务还没有达到分库的级别时,动态分表也是一个的选择,基本思想是按照一定维度将数据分表存储动态查询。本次实现的是基于springboot的单表动态增删查,首先分表的规则根据一个格式生产,包含时间在其中,每一条数据都可以解析其数据存在的 ......
分表 源码 动态 spring boot

AOP底层原理-装饰模式(静态代理)

原始方法: 静态代理的方法: 测试: ......
底层 静态 原理 模式 AOP

spring中的扫描机制

背景 项目中出现,一个bean 在 @ComponentScan 注解的包下面却没有被扫描,并创建为bean的bug。所以需要了解spring的扫描机制。 原因以及源码位置 当项目里面有 resources/META-INF/spring.components 文件的时候,spring进入这个if判 ......
机制 spring

spring中事务的原理

背景 spring在使用事务的时候会出现事务失效的情况。这里了解spring中事务原理,以及事务失效的原理和解决方案。 原因 spring中事务是基于AOP的,如果不是代理对象执行的话就不会有事务。 比如,加上 @Transactional 的事务方法,是被包裹起来的。 public class U ......
原理 事务 spring

spring中bean的生命周期

背景 bean在创建过程中会出现各种各样的循环依赖。了解spring如何用三级缓存机制解决循环依赖,解决spring没有解决的循环依赖。所以需要了解bean的生命周期原理。 出现属性的循环依赖时,bean的生命周期 spring用三级缓存机制来解决属性的循环依赖。 以 UserService 和 O ......
周期 生命 spring bean

spring的beanName规则

背景 比如下面的 AService 为什么beanName是 AService ,首字母为什么没有小写。小写反而获取不到。 @Component public class AService { } ... applicationContext.getBean("AService") 源码逻辑 pro ......
beanName 规则 spring

@Transactional 注解失效的3种情况

第一种 Transactional注解标注方法修饰符为非public时,@Transactional注解将会不起作用 第二种 在类内部调用调用类内部@Transactional标注的方法。这种情况下也会导致事务不开启 @Component public class TestServiceImpl i ......
注解 Transactional 情况

注解配置AOP

......
注解 AOP

@Scheduled注解的使用

@Scheduled注解用于执行定时任务,有以下几个参数:1.cron 表达式2.fixedRelay 上次任务执行结束点延迟多久3.fixedRate 若执行时间小于rate,那么两次任务的开始时间间隔rate后执行,若大于rate,则上次任务执行完毕后立即执行;三个参数只能同时使用一种来进行执行 ......
注解 Scheduled

spring相关

解释一下spring bean的生命周期: Servlet的生命周期:实例化,初始init,接收请求service,销毁destroy; Spring上下文中的Bean生命周期也类似,如下: (1)实例化Bean: 对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化 ......
spring

spring注解整合mybatis

引入依赖 <!--mybatis-spring与mybatis使用低版本适配--> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</gr ......
注解 mybatis spring

spring中常用注解

@Configuration 标识当前类是配置类 @ComponentScan 包扫描注解 扫描注解 @Bean 标识该方法的返回值交给Spring容器管理 @Scope 控制多例和单例 @Lazy 懒加载 @PostConstruct 初始化方法 @PreDestroy 销毁方法 @Compone ......
注解 常用 spring

Struts2和Spring的区别

1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts ......
Struts2 Struts Spring

spring的事务管理有几种方式实现

一.事务的4个特性: 原子性:一个事务中所有对数据库的操作是一个不可分割的操作序列,要么全做,要么全部做。 一致性:数据不会因为事务的执行而遭到破坏。 隔离性:一个事务的执行,不受其他事务(进程)的干扰。既并发执行的个事务之间互不干扰。 持久性:一个事务一旦提交,它对数据库的改变将是永久的。 1、编 ......
事务管理 事务 方式 spring

扯下@EventListener这个注解的神秘面纱。

你好呀,我是歪歪。 前段时间看到同事在项目里面使用了一个叫做 @EventListener 的注解。 在这之前,我知道这个注解的用法和想要达到的目的,但是也仅限于此,其内部工作原理对我来说是一个黑盒,我完完全全不知道它怎么就实现了“监听”的效果。 现在既然已经出现在项目里面了,投入上生产上去使用了, ......
注解 面纱 EventListener

【Spring MVC】第一个程序

添加Maven依赖: <!-- spring核心类 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.8.RELEASE</vers ......
程序 Spring MVC

MIT 6.5840 2023 Spring(6.824)LAB1:MapReduce

MIT 6.5840 2023 Spring(6.824)LAB1:MapReduce 前言 本次lab主要是完成一个基于RPC远程调用的单机单文件系统的简单MapReduce框架,并完成单词计数任务。基于golang实现,单Master,多Worker。实现worker的奔溃恢复(Fault To ......
MapReduce 6.5840 Spring 6.824 5840

Spring入门系列:浅析知识点

本文介绍了学习Spring源码前需要掌握的核心知识点,包括IOC、AOP、Bean生命周期、初始化和Transaction事务。通过Hello World示例,讲解了如何使用Spring,并指出了深入了解Spring内部机制的方向。 ......
知识点 知识 Spring

AOP配置(XML)-通知中获取参数

获取参数方式2: ......
参数 AOP XML