切面 注解spring aop

非Spring项目下使用H2数据库做UnitTest

1.Maven引入包 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</version> </dependency> <dependency> <groupId>com.h2databa ......
UnitTest 数据库 项目 数据 Spring

.NetCore基于SqlSugar和Aop的工作单元模式(UnitOfWork)实现

Unit Of Work 是什么 Unit Of Work模式,即工作单元,它是一种数据访问模式。它是用来维护一个由已经被业务修改(如增加、删除和更新等)的业务对象组成的列表。它负责协调这些业务对象的持久化工作及并发问题。通过数据库事务Unit Of Work模式会记录所有对象模型修改过的信息,在提 ......
UnitOfWork 单元 SqlSugar NetCore 模式

Project 'org.springframework.boot:spring-boot-starter-parent:XXX' not found

问题:Project 'org.springframework.boot:spring-boot-starter-parent:XXX' not found 当 spring-boot-starter-parent下面的版本报红时并不是这个版本不存在, 而是因为 idea 会默认缓存 Maven 本 ......

详解面向切面AOP

AOP 再看AOP,这是一种面向切面编程思想,相比面向对象编程,可以说是站在更改维度关注对象,我们知道,对象包含由属性和行为。 基于AOP,我们可以把一段代码插入到对象中形成新的对象,这是织入的过程,目的是将公共的内容写入到业务代码中,通过配置或简单的编码完成整个过程。 这样一来不用修改原有的业务代 ......
切面 AOP

聊聊Spring扩展点BeanPostProcessor和BeanFactoryPostProcessor

介绍 今天聊一聊spring中很重要的两个扩展点BeanPostProcessor和BeanFactoryPostProcessor,spring之所以如次强大,是因为它提供了丰富的功能给我们使用,但是我觉得最强大的是它扩展点,因为有了各种扩展点,我们才能去开发一些自己的需求,一个框架的强大之处也在 ......

Spring中循环依赖和@Async异步同时使用存在的坑

Spring能够解决不是构造器注入导致的循环依赖。我最近在开发中遇到了一个问题,有两个模块,模块AA和模块BB,同时引用了公共模块C。C中有三个Bean,分别是A,B,C;他们之间存在了循环依赖(使用@Autowired注入属性)。在模块AA的启动类加了@EnableAsync注解能够正常启动,模块 ......
同时 Spring Async

Spring-容器启动流程

#1,Spring 容器启动三个过程 1、初始化Spring容器,注册内置的BeanPostProcessor的BeanDefinition到容器中 2、将配置类的BeanDefinition注册到容器中 3、调用refresh()方法刷新容器 因为是基于 java-config 技术分析源码,所以 ......
容器 流程 Spring

Spring AOP官方文档学习笔记(一)之AOP概述

1.AOP简介 (1) Spring的关键组件之一就是AOP框架,它是对Spring IoC的补充(这意味着如果我们的IOC容器不需要AOP的话就不用引入AOP),此外,AOP亦是对OOP的补充,OOP的关注点在于类,而AOP的关注点在于切面,它可以将分散在不同类不同方法中重复的代码逻辑抽取出来,称 ......
AOP 文档 笔记 官方 Spring

设计模式(三十)----综合应用-自定义Spring框架-自定义Spring IOC-定义bean、注册表相关类

现要对下面的配置文件进行解析,并自定义Spring框架的IOC对涉及到的对象进行管理。 <?xml version="1.0" encoding="UTF-8"?> <beans> <bean id="userService" class="com.itheima.service.impl.User ......
Spring 设计模式 注册表 框架 模式

无法使用Resource注解

问题描述: 学习Spring框架的时候,发现无法使用@Resource注解,只能使用@Autowired注解。 问题原因: JDK11删除了javax.annotation包,需要导入,否则无法使用@Resource注解。 解决办法: 在pom.xml文件中导入依赖。 ......
注解 Resource

spring两级缓存可以解决循环依赖吗?

概念理解: spring的三级缓存 1层 singletonObjects 第一级缓存,存放可用的成品Bean。 2层 earlySingletonObjects 第二级缓存,存放半成品的Bean,半成品的Bean是已创建对象,但是未注入属性和初始化。用以解决循环依赖。 3层 singletonFa ......
缓存 spring

Springboot使用切面AOP实现调用接口则输出请求IP到日志中

引入Maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 代码实现 package com.sunte ......
切面 Springboot 接口 日志 AOP

spring boot服务之间Feign调用

spring boot服务之间Feign调用 一、服务提供者 1、引入Feign相关依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</art ......
之间 spring Feign boot

Eclipse中创建Spring项目的步骤

1.创建一个动态网站项目 2.添加Spring框架的jar包 3.创建一个实体类Stutent package com.spring; public class Student { private String name; private String number; private String ......
步骤 Eclipse 项目 Spring

自定义注解方式接口防刷实现

原作 前言 本文为描述通过Interceptor以及Redis实现接口访问防刷Demo 这里会通过逐步找问题,逐步去完善的形式展示 原理 通过ip地址+uri拼接用以作为访问者访问接口区分 通过在Interceptor中拦截请求,从Redis中统计用户访问接口次数从而达到接口防刷目的 如下图所示 工 ......
注解 接口 方式

SpringBoot:自定义一个spring-boot-starter,以及maven拉取不到starter依赖的一些常见错误说明

没有太多多余的代码,记录下来主要是为了以后写starter的时候有个模板可以直接拖下来参考。 github项目地址:rain-spring-boot-starter ####操作步骤 starter项目 (1) 新建一个maven项目,项目名推荐命名为:xxxx-spring-boot-starte ......

Spring Boot常见问题描述

1 什么是SpringBoot?为什么要用SpringBoot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件),创建独立的spring引用程序 main方法运行。 (1)独立运行:Spring Boot而且内嵌了各种servlet容器,T ......
常见问题 常见 Spring 问题 Boot

在云服务器上搭建个人版chatGPT及后端Spring Boot集成chat GPT

总结/朱季谦 本文分成两部分,包括【国内服务器上搭建chat GPT】和【后端Spring Boot集成chat GPT】。 无论是在【国内服务器上搭建chat GPT】和【后端Spring Boot集成chat GPT】,两个方式都需要魔法访问,否则是无法正常使用的。 至于什么是魔法访问,以及如何 ......
chatGPT 服务器 Spring 个人 Boot

spring 多线程 线程池

Spring Framework 提供了一些对于多线程编程的支持,其中包括线程池。线程池是一种实现线程复用的机制,它可以预先创建一定数量的线程,然后把任务交给这些线程来执行,避免了每次都要创建和销毁线程的开销。 在 Spring 中,我们可以使用 TaskExecutor 接口来管理线程池。该接口是 ......
线程 spring

Aop面向方面编程之PostSharp框架

官网:https://www.postsharp.net/aop.net/msil-injection 向切面编程的概念已经盛行很久了, 可以很好的将我们代码的各个关注方面分离开来. 比如: 事务, 日志, 异常处理, 数据缓存, 权限等等, 这些其实是可以和核心的业务逻辑分离处理的. 不知道大家有 ......
PostSharp 框架 方面 Aop

AOP切入点表达式

标准格式 切入点表达式标准格式:动作关键字( 访问修饰符 返回值 包名.类/接口名.方法名(参数)异常名 ) execution(public User com.spring.example.service.UserService.findById(int) ) 动作关键字:描述切入点的行为动作,例 ......
切入点 表达式 AOP

Java学习笔记(十一) 注解和反射

注解 1. 注解入门 Annotation是从JDK5.0开始引入的新技术 Annotation的作用: 不是程序本身,可以对程序作出解释。(这一点和(comment)没什么区别) 可以被其他程序(比如:编译器等)读取 Annotation的格式: 注解是以”@注释名“在代码中存在,还可以添加一些参 ......
注解 笔记 Java

java学习日记20230327-注解

注解 注解(Annotation)也被称为元数据(Metadata),用于修饰解释包,类,属性,构造器,局部变量等数据信息; 和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息 在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在javaee ......
注解 20230327 日记 java

spring事务处理

1.开启注解式事务驱动 在SpringConfig配置类上添加注解 @EnableTransactionManagement//开启注解式事务驱动 2.配置事务的管理器 在JdbcConfig中配置,也可以在别的配置类里 // 配置事务的管理器 @Bean public PlatformTransa ......
事务 spring

Spring

Spring https://start.spring.io/ Gradle相当于maven Spring分为2.x和3.x snapshot正在开发的快照版本,较为不稳定 M2:第二个里程碑,而后会转换为snapshot,最后变为release正式版 选择 选择2.7.10(支持jdk8) 选择如 ......
Spring

搭建Spring-Boot工程 (JPA & Gradle)

由于Mybatis-Plus以及MAVEN的搭建项目略废时间(相比JPA和Gradle && 创建DEMO工程时),因此建议大家平时在学习时可通过以下方式快速开发Spring-Boot项目 创建项目 https://start.spring.io/ Project # Gradle - Groovy ......
Spring-Boot Spring Gradle 工程 Boot

Spring MVC

Spring MVC 参考视频:B站狂神,写这个只是方便个人复习,怎么写是我自己的事,我能看懂就行,没要求非要让你看!白嫖还挑刺,是很没有风度的事情。希望做个有风度的“五好青年”! ......
Spring MVC

spring

老版本的基础知识 IoC:控制反转。类A引用类B,如果我们要更改类A引用类C,那么程序就要再测试,发布一次,浪费资源,因此我们可以不在类A中写上new B(),将对象放入Bean层中,需要的时候从Bean层中取,就叫IoC。 DI:依赖注入:如果Bean层中有些类之间有依赖关系(A引用C),那么我们 ......
spring

Spring常见问题描述

1 渊源 原型在200210由Rod Johnson发布的书中体现,后来在200403spring 1.0版本发布,201709spring 5.0发布, (1)spring ioc 控制反转,管理容器中的bean,主要使用di依赖注入实现。 工厂模式,通过sessionFactory去注入实例。 ......
常见问题 常见 Spring 问题

@Transactiona注解失效原因

用在非public方法 @Transactional是基于动态代理的,Spring的代理工厂在启动时会扫描所有的类和方法,并检查方法的修饰符是否为public,非public时不会获取@Transactional的属性信息,这时不会生成动态代理对象。 同一个类中,非@Transactional方法调 ......
注解 Transactiona 原因