![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
不拘于世的正义感正能量
不拘于世的正义感正能量
展开
-
SPRINGBOOT 动态加载JAR包中的Bean到容器
SPRINGBOOT动态加载JAR包中的Bean到容器原创 2022-07-15 17:04:42 · 1501 阅读 · 0 评论 -
外部应用调用xxljob接口
package com.bochao.devmgr.job;import com.bochao.devmgr.job.domain.XxlJobInfo;import com.xxl.job.core.biz.model.ReturnT;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import o原创 2022-05-23 14:10:45 · 2000 阅读 · 4 评论 -
Springboot 解决跨域
1、实现 WebMvcConfigurer#addCorsMappings 的方法import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Con.原创 2021-11-22 11:06:15 · 384 阅读 · 0 评论 -
Java生成二维码的几种方式
所需的jar <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.2</version> </dependency> <dependency>原创 2021-06-22 22:46:00 · 168 阅读 · 0 评论 -
redis实现分布式锁跟限流
@Test public void testRedisLock(){ String uuid = UUID.randomUUID().toString(); // 分布式锁使用uuid String value = uuid; // 自增限流用 字符串1 value = "1"; // 加锁要设置过期时间,避免宕机造成死锁 Boolean lock = stringRedisTemplate.原创 2021-02-25 22:50:13 · 129 阅读 · 0 评论 -
spring注解校验跟分组校验详解
1.实体类package com.lg.sgg.product.entity;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import java.io.Serializable;import java.util.Date;import com.lg.common.valid.AddGroup;import com.lg.c.原创 2020-12-09 22:42:58 · 617 阅读 · 2 评论 -
@ControllerAdvice全局异常处理详解
全局异常处理代码package com.lg.sgg.product.exception;import com.lg.common.utils.R;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.RestControllerAdvice;/** *.原创 2020-12-08 22:53:17 · 135 阅读 · 0 评论 -
递归获取组织架构或分类
第一种,java代码递归获取分类的实体类package com.lg.sgg.product.entity;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import java.io.Serializable;impor原创 2020-12-05 16:09:13 · 550 阅读 · 0 评论 -
Spring Cloud Alibaba-Nacos
1.访问springCloud 访问springCloud.2.下载nacos1.nacos作为服务注册与发现,也作为配置中心使用(这里我们使用windows环境演示)2.https://github.com/alibaba/nacos/releases/tag/1.4.03.下载后解压,双击图中命令执行4.访问8848端口3.添加nacos依赖1.可参考–》 https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring原创 2020-11-03 22:21:13 · 110 阅读 · 0 评论 -
springboot整合mybatis-plus
1.简要说明package com.lg.sgg.product;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * 1整合mybatis-plus * 1)导入依赖 * <dependen原创 2020-11-03 21:16:09 · 164 阅读 · 0 评论 -
Spring(12) -数据缓存Cache(1)
1.数据缓存Cache常见CacheManagerSimpleCacheManager使用简单的Collection来存储缓存,主要用来测试用途ConcurrentMapCacheManager使用 ConcurrentMap来存储缓存EhCacheCacheManager使用 EhCache作为缓存技术RedisCacheManager使用Redis作为缓存技术2.常用的三个注解@Cacheable、@CachePut、@CacheEvit @Caching表8-6声明式缓存注意原创 2020-08-30 22:57:40 · 102 阅读 · 0 评论 -
Spring(11)-Test
1.简要实战说明Spring提供了-一个SpringJUnit4ClassRunner类,它提供了Spring TestContext Framework的功能。通过@ContextConfiguration 来配置Application Context,通过@ActiveProfles 确定活动的profile。2.配置所需要的y依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.原创 2020-08-16 22:15:00 · 81 阅读 · 0 评论 -
Spring(10)-条件注解
1.条件注解@Conditional根据满足某-个特定条件创建一个特定的Bean。在Spring Boot中大量应用到条件注解2.编写判定条件(以操作系统为例)package com.lglg.springdemo01;import org.springframework.context.annotation.Condition;import org.springframework.context.annotation.ConditionContext;import org.springf原创 2020-08-16 20:06:06 · 100 阅读 · 0 评论 -
Spring(9)-计划任务
1.简要说明从Spring3.1开始,计划任务在Spring中的实现变得异常的简单。首先通过在配置类注解@EnableScheduling来开启对计划任务的支持,然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。Spring通过@Scheduled支持多种类型的计划任务,包含cron、fixDelay、 fixRate 等。2.编写任务执行类package com.lglg.springdemo01;import org.springframework.schedu原创 2020-08-16 17:18:38 · 154 阅读 · 0 评论 -
Spring(8)-多线程应用-异步操作
1.简要说明Spring通过任务执行器( TaskExecutor)来实现多线程和并发编程。使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor. 而实际开发中任务一般是非阻碍的,即异步的,所以我们要在配置类中通过@EnableAsyne开启对异步任务的支持,并通过在实际执行的Bean的方法中使用@Asyne注解来声明其是- 个异步任务。2.编写配置类package com.lglg.config;/** * Date:2020/8/16 *原创 2020-08-16 16:46:08 · 168 阅读 · 0 评论 -
Spring(7)-事件(Application Event)
1.简要说明Spring的事件( Application Event) 为Bean与Bean之间的消息通信提供了支持。当一个Bean处理完一个任务之后,希望另外一个Bean知道并能做相应的处理,这时我们就需要让另外一个Bean监听当前Bean所发送的事件。Spring的事件需要遵循如下流程:(1)自定义事件,集成ApplicationEvent.(2)定义事件监听器,实现ApplicationListener.(3)使用容器发布事件。2. 自定义事件package com.lglg.spr原创 2020-08-15 22:02:57 · 136 阅读 · 0 评论 -
Spring(6)-Profile
1.简要说明Profile为在不同环境下使用不同的配置提供了支持(开发环境下的配置和生产环境下的配置肯定是不同的,例如,数据库的配置)。(1)通过设定Environment的ActiveProfiles 来设定当前context 需要使用的配置环境。在开发中使用@Profile注解类或者方法,达到在不同情况下选择实例化不同的Bean。(2)通过设定jvm的springprofiles.active参数来设置配置环境。(3) Web项目设置在Servlet的context parameter中。原创 2020-08-15 18:08:24 · 98 阅读 · 0 评论 -
Spring(5)-Bean的初始化跟销毁
1.简要说明在我们实际开发的时候,经常会遇到在Bean在使用之前或者之后做些必要的操作,Spring对Bean的生命周期的操作提供了支持。在使用Java配置和注解配置下提供如下两种方式:(1) Java 配置方式:使用@Bean的initMethod 和destroyMethod (相当于xml 配置的init-method和destory-method)。(2)注解方式:利用JSR-250的@PostConstruct和@PreDestroy。2.实战演示(导入依赖)<?xml ver原创 2020-08-15 17:28:10 · 95 阅读 · 0 评论 -
Spring(4)-Spring EL
1.简要说明Spring开发中经常涉及调用各种资源的情况,包含普通文件、网址、配置文件、系统环境变量等,我们可以使用Spring 的表达式语言实现资源的注入。Spring主要在注解@Value的参数中使用表达式。本节演示实现以下几种情况:(1)注入普通字符:(2)注入操作系统属性;(3)注入表达式运算结果;(4)注入其他Bean的属性;(5)注入文件内容;(6)注入网址内容;(7)注入属性文件。2.导入相关依赖<?xml version="1.0" encoding="UTF原创 2020-08-15 16:48:27 · 150 阅读 · 0 评论 -
Spring(3)-Bean的Scope(作用域)
1.scope简单说明Scope描述的是Spring容器如何新建Bean的实例的。Spring 的Scope有几种,通过@Scope注解来实现。下面介绍经常见到的两种(1) Singleton:一个Spring容器中只有一个Bean的实例,此为Spring的默认配置,全容器共享一个实例。(2)Prototype:每次调用新建一个Bean的实例。2.编写实例package com.lglg.springdemo01;import org.springframework.stereotype原创 2020-08-09 22:18:23 · 82 阅读 · 0 评论 -
Spring(2)-Aop切面的两种方式
AopAOP:面向切面编程,相对于OOP面向对象编程。Spring的AOP的存在目的是为了解耦。AOP可以让一组类共享相同的行为。在OOP中只能通过继承类和实现接口,来使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上,AOP 弥补了OOP的不足。1.添加依赖(版本要对应,不然报错)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"原创 2020-08-09 21:37:23 · 205 阅读 · 0 评论 -
Spring(1)-依赖注入
1.1依赖注入1.1.1 说明我们经常说的控制翻转( Inversion of Control-IOC)和依赖注入(dependency injection-DI)在Spring环境下是等同的概念,控制翻转是通过依赖注入实现的。所谓依赖注入指的是容器负贵创建对象和维护对象间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖。Spring loC容器(ApplicationContext) 负贵创建Bean,并通过容器将功能类Bean注入到你需要的Bean中。Spring 提供使用xml、注解原创 2020-08-09 17:20:27 · 85 阅读 · 0 评论 -
前后端分离项目部署(超详细)
前后端项目部署这里通过tomcat部署后端项目,nginx部署前端项目都是本地电脑window演示效果项目配置一下说明server: port: 8080 tomcat: max-swallow-size: -1 servlet: context-path: /springboot这里的端口,只是本地编辑器启动,SpringBoot内置tomcat的访问端口,跟部署项目tomcat里面配置的端口无关,以tomcat为主这里配置的context-path,也是原创 2020-07-12 23:55:37 · 11314 阅读 · 5 评论 -
SpringBoot学习(2)-常见配置方式
默认配置原理springboot的默认配置方式和我们之前玩的配置方式不太一样,没有任何的xml。那么如果自己要新增配置该怎么办?常用的java配置@Configuration:声明一个类作为配置类,代替xml文件@Bean:声明在方法上,将方法的返回值加入Bean容器,代替标签@Value:属性注入@PropertySource:指定外部属性文件。第一种常见java配置,这里使用jdbc来演示引入依赖<dependency> <groupId>c原创 2020-05-20 00:00:43 · 127 阅读 · 0 评论 -
SpringBoot学习(1)-入门介绍
1. 了解SpringBoot什么是SpringBoot为什么要学习SpringBootSpringBoot的特点1.1什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品:在这里插入图片描述我们可以看到这样一段话:Spring Boot makes it easy to create stand-alone, production-grade Spring based Applicat原创 2020-05-18 23:30:58 · 157 阅读 · 0 评论 -
SpringBoot学习(常见的几种获取配置文件数据方式)
1.从yml文件中通过@Value获取1.1在application.yml配置文件中配置如下属性// 例如在application.yml 文件中配置如下属性 name: testName1.2 通过@Value获取配置文件属性的数据值//@org.springframework.stereotype.Servicepublic class DemoServiceImpl im...原创 2020-03-22 01:35:47 · 521 阅读 · 0 评论 -
SpringBoot集成JWT 实现token认证
1. 什么是JWT?了解JWT,认知JWT? 首先jwt其实是三个英语单词JSON Web Token的缩写。通过全名你可能就有一个基本的认知了。token一般都是用来认证的,比如我们系统中常用的用户登录token可以用来认证该用户是否登录。jwt也是经常作为一种安全的token使用。1.1 JWT的定义: JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JW...原创 2019-11-30 19:46:34 · 647 阅读 · 0 评论 -
Steam流将一个List<Bean>转化为另一List<Bean>
Steam流将一个List<Bean>转化为另一List<Bean>将一个List 转化为另一个List可以将其中有相关属性的值赋值给另一个Bean;一、第一个实体类// An highlighted blockmport java.io.Serializable;import java.util.Date;import com.baomido...原创 2019-10-28 23:23:55 · 12527 阅读 · 6 评论