Springboot
Springboot
一只小小狗
大家好我是练习时长2年半的程序员
展开
-
element cannot be mapped to a null key
这个错误是因为你试图使用 null 作为 Map 的键,这在 Java 中是不允许的。在你的代码中,item.get(“XXX”) 可能返回 null,这就导致了这个错误。要解决这个问题,你可以在使用 item.get(“XXX”) 之前检查它是否为 null。如果为 null,你可以返回一个默认值,以避免使用 null 作为键。,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。原创 2023-12-27 11:07:59 · 11981 阅读 · 0 评论 -
org.activiti.engine.ActivitiIllegalArgumentException: Variables of type ByteArray cannot be used to
如果你在查询中使用了 ByteArray 类型的变量,Activiti 就会抛出这个错误。你应该检查你的代码,确保你没有尝试使用 ByteArray 类型的变量进行查询。如果需要,你应该将 ByteArray 转换为 Activiti 支持的其他类型,然后再进行查询。Activiti 是一个工作流引擎,它允许你在流程中使用变量。然而,Activiti 不支持使用 ByteArray 类型的变量进行查询。,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。原创 2023-12-26 17:35:39 · 1019 阅读 · 0 评论 -
Mybatis-plus 跳过全局变量的设置 ignoreQueryFilters
在Mybatis-plus中,如果你想在执行某些操作时跳过逻辑删除规则,你可以使用wrapper查询包装器的ignoreQueryFilters方法。这个方法可以让你在执行查询或更新操作时忽略全局的查询过滤器,包括逻辑删除过滤器。,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。原创 2023-12-18 10:29:00 · 653 阅读 · 0 评论 -
Mybatis-plus 全局配置字段删除修改查询全局操作 GlobalConfig @TableLogic
在这个例子中,逻辑删除字段被设置为deleted,逻辑删除值被设置为1,逻辑未删除值被设置为0。这意味着,当你调用删除操作时,Mybatis-plus会将deleted字段的值更新为1,而不是真正地从数据库中删除记录。你可以在这里设置逻辑删除字段的名称,以及逻辑删除和未删除时的值。当你在实体类的某个字段上使用这个注解时,Mybatis-plus会知道这个字段是用于表示记录是否被删除的。,欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。原创 2023-12-18 10:20:31 · 853 阅读 · 0 评论 -
mybatis-plus进行数据操作不生效,update等操作不生效
确认是否开启了 MyBatis-Plus 自动填充功能: 如果在实体类中使用了 @TableField(fill = FieldFill.INSERT) 或 @TableField(fill = FieldFill.UPDATE) 注解,确保 MyBatis-Plus 的自动填充功能已经开启,否则字段可能不会被正确填充。检查是否设置了逻辑删除字段: 如果你使用了 MyBatis-Plus 的逻辑删除功能,确保在实体类中正确设置了逻辑删除字段,并且数据库中该字段的值符合预期。原创 2023-12-18 09:39:02 · 3767 阅读 · 0 评论 -
--enable-preview JDK预览新功能运行打包
欢迎大家加入我的开源项目,或者(在我的主页联系我)加入你们的开源项目,点点Github-Stars。以下这段代码是无法运行的。启动成功,并且可以打包。原创 2023-12-05 17:45:52 · 677 阅读 · 0 评论 -
spring security使用iframe拒绝访问
【代码】spring security使用iframe拒绝访问。原创 2023-03-28 10:12:35 · 252 阅读 · 0 评论 -
There is no PasswordEncoder mapped for id “null”
没有为id“null”映射PasswordEncoder,说白了就是没有添加加密方式,并且你的选择也没有使用加密方式。原创 2023-03-14 16:35:10 · 873 阅读 · 0 评论 -
Java获取IP地址,HttpServletRequest
可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢?获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址,如:X-Forwarded-For:192.168.1.32, 192.168.1.45, 192.168.1.12,答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。用户真实IP为: 192.168.1.32。原创 2023-03-14 15:40:28 · 368 阅读 · 0 评论 -
springboot——热部署
【代码】springboot——热部署。原创 2023-03-14 10:05:06 · 63 阅读 · 0 评论 -
一只小小狗,异步多线程效率对比
核心代码自动以线程池@Component@Slf4jpublic class ThreadPoolConfig { @Bean @Qualifier(value = "configurationCheckThreadPool") public ExecutorService executorService(){ int nThreads = Runtime.getRuntime().availableProcessors(); log.inf原创 2022-05-28 20:58:31 · 123 阅读 · 0 评论 -
Spring中的Controller和Service还有Dao,包括各种各样的Bean是线程安全的吗?我们应该怎么选择单例还是多例,如果单例好我们如何保存用户内数据
Spring中的Controller和Service还有Dao,包括各种各样的Bean默认情况下是线程安全的吗?先丢出结论:不是线程安全一.Spring bean作用域(scope)范围是二.百分之90的web项目都是使用默认单例,这样不会引起线程安全问题么?三.单例Bean,实际上分为有状态和无状态,3.1 无状态bean3.2 有状态bean四.我们都知道单例的bean比较好,我们这时候怎么在存储用户数据的情况下,使用单例模式呢?使用ThreadLocal对象存储用户信息先丢出结论:不是线程安全原创 2022-05-17 17:57:24 · 314 阅读 · 0 评论 -
有状态bean和无状态bean? Spring 单例模式如何解决保存用户信息并且保证线程安全。
有状态bean和无状态bean有状态对象无状态对象Spring 单例模式如何解决保存用户信息并且保证线程安全。有状态对象就是有实例变量的对象,可以保存数据,是非现场安全的。每个用户都有自己特有的实例,在用户的生命周期中,bean保存了用户的信息,即为“偶状态”;一旦用户衰亡(调用结束),bean的生命周期也随之结束。即每个用户最初都会得到一个初始的bean。无状态对象就是没有实例变量的对象,不能保存数据,是不变类,是线程安全的。bean一旦实例化就被加进会话池中,各个用户都可以共用。即使原创 2022-05-17 16:01:10 · 948 阅读 · 0 评论 -
SpringBoot配置文件加载顺序
SpringBoot配置文件加载顺序配置文件读取顺序配置文件读取顺序以jar包发布springboot项目时,默认会先使用jar包同级目录下的application.properties来作为项目配置文件。但使用–spring.config.location指定了配置文件,则读取指定的配置文件。如果在不同的目录中存在多个配置文件,它的读取顺序是:config/application.properties(项目同级目录中config目录下)config/application.ymla原创 2022-05-05 14:50:30 · 1669 阅读 · 0 评论 -
SpringBoot 打包成的可执行jar不能被其他项目依赖的问题
springboot默认可执行jar如果正常打包Springboot项目会打成一个可执行jar,并且里面会有全部的依赖jar。就是上面的拥有BOOT-INF文件。这样的可执行jar是无法被其他项目进行pom依赖使用的。不可执行jar如果非要将 Spring Boot 打包成一个普通 jar 被其他项目依赖,技术上来说,也是可以的,给 spring-boot-maven-plugin 插件添加如下配置:<build> <plugins> <plugin&g原创 2022-04-13 18:04:14 · 2191 阅读 · 1 评论 -
Spring中的定时器(定时执行任务)
package cn.com.demo.config;import cn.com.demo.dao.Dao_BDG_TAG_CONFIGURATION;import cn.com.demo.pojo.BDG_TAG_CONFIGURATION;import cn.com.demo.service.Ser_BDG_TAG_CONFIGURATION;import org.apache.log4j.Logger;import org.springframework.beans.factory.ann原创 2022-04-02 17:54:40 · 3321 阅读 · 0 评论 -
Kafka生产者三种分区策略代码展示
三种分区策略轮询策略配置代码配置信息随机策略配置代码配置信息HashPartitioner (Key-ordering)策略配置代码配置信息分区策略可以自定义更据公司业务来制定轮询策略像下图这样平均的发送不同分区中,轮询策略有非常优秀的负载均衡表现,总可以能保证消费最大限度地被平分到所有分区上,也是最常用的分区策略。配置代码package cn.com.kaf.configuration;import org.apache.kafka.clients.producer.Partitioner;原创 2022-03-17 19:04:42 · 1016 阅读 · 0 评论 -
全局异常处理?如何正确使用?
全局异常处理使用中的问题不在业务代码层面考虑异常处理,仅在框架层面粗犷捕获和处理异常。建议Controller层返回给用户友好信息,而不再Service业务中捕获。如果在Service 层捕获,往往涉及数据库事务,否则事务无法自动回滚。捕获了异常后直接生吞(无法找到BUG)不记录不抛出,导致无源可查丢弃异常的原始信息这个问题下一班建议先写入log日志,在捕获的同时就开始写入日志。catch (IOException e) {log.error("文件读取错误", e);thro原创 2022-03-09 23:54:14 · 281 阅读 · 0 评论 -
@Controller和@RestController的区别?
@RestController = @ResponseBody + @Controller@RestController如果使用@RestController ,则Cotroller层中无法返回jsp页面、html页面。也就是说视图解析器InternalResourceViewResolver无法起作用。返回的内容就是返回JSON,XML或自定义mediaType内容到页面。@Controller如果使用@Controller,则会返回调用视图解析器InternalResourceViewRes.原创 2022-02-23 17:49:19 · 172 阅读 · 0 评论 -
异步的解释(Springboot为例@Async)
异步和并发并发:对多任务的并行执行的支持机制。多任务的消费机制。多任务的处理机制;异步:一种通信机制;分流与合并机制。Springboot中的并发由于tomcat会分配多线程,所以此时有多个请求一起访问时会形成。同时处理多个请求任务的并发现象。Spring中的异步 @Async给方法上注释@Async 开启异步正常的一个请求要走的流程服务器处理完需要2s才能完成,但是当在保存的service层开启异步,也就是另开一个线程专门处理保存这件事,而controller直接返回给客户端保存原创 2022-02-23 10:42:16 · 545 阅读 · 0 评论 -
HikariCP(数据库连接池)优劣以及集成spring
HikariCPHikariCP现在已经是spring-boot-starter-jdbc中自带的默认连接池,在我们的生产环境下必须对其默认参数做一些针对自己业务的调整HikariCP 拥有最好的性能1.pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte原创 2022-02-22 16:12:08 · 723 阅读 · 0 评论 -
Druid(数据库连接池)优劣以及集成spring
查看功能对比功能角度考虑,Druid 功能更全面,除具备连接池基本功能外,还支持sql级监控、扩展、SQL防注入等。最新版甚至有集群监控1.pom <!--引入druid数据源--> <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifac原创 2022-02-22 14:42:47 · 761 阅读 · 1 评论 -
@Value注解(Springboot)
import org.springframework.beans.factory.annotation.Value;@Value(“#{}”) 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量用 @Value(“${xxxx}”)注解从配置文件读取值的用法@Value(“#{}”)@RestController @RequestMapping("/login") @Component public class LoginController原创 2022-02-21 20:12:21 · 262 阅读 · 0 评论 -
spring用的是单实例 ,但是支持多线程
Spring使用的是单实例,但是支持多线程,在使用Controller的接口时,是使用不同的线程去并发解决请求。具体参考文章测试 Controller @ResponseBody @GetMapping(value = {"Ok"}) public String penalty() { System.out.println(Thread.currentThread().getName()+"请求被处理"); try { T原创 2022-02-17 13:52:30 · 2073 阅读 · 0 评论 -
springBoot自动执行方法几种方式以及执行顺序
package cn.com.demo.config;import org.springframework.boot.ApplicationArguments;import org.springframework.boot.ApplicationRunner;import org.springframework.boot.CommandLineRunner;import org.springframework.stereotype.Component;import org.springframe原创 2021-11-26 17:41:31 · 1965 阅读 · 0 评论 -
SpringBoot 主动停止关闭项目
SpringBoot 主动停止关闭项目SpringBoot启动方法@SpringBootApplicationpublic class DemoApplication { public static ConfigurableApplicationContext context; public static void main(String[] args) { context = SpringApplication.run(DemoApplication.class,原创 2021-11-09 13:20:16 · 2131 阅读 · 0 评论 -
SpringBoot-shiro登录拦截.用户认证.整合Mybatis
1.SpringBoot-shiro登录拦截package com.wjm.config;import java.util.LinkedHashMap;import java.util.Map;import org.apache.shiro.spring.web.ShiroFilterFactoryBean;import org.apache.shiro.web.mgt.DefaultWebSecurityManager;import org.springframework.beans.fa原创 2020-12-14 23:49:25 · 147 阅读 · 0 评论 -
SpringBoot-shiro搭建环境
1.pom坐标<!-- shiro整合spring --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.1</version> </dependency>原创 2020-12-14 22:11:39 · 127 阅读 · 0 评论 -
Shiro,java安全权限框架
ShiroShiro有哪些功能?Shiro 架构3.使用Apache Shiro是一个java安全框架。Shiro可以非常容易开发出足够好的应用,其不仅可以用在JavaSE环境下,也可以用在JavaEE环境下。Shrio可以完成,认证,授权,加密,会话管理,Web集成,缓存等。Shiro有哪些功能?Authentication:身份认证/登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如原创 2020-12-14 20:58:13 · 125 阅读 · 0 评论 -
SpringSecurity的记住我及首页定制
SpringSecurity的记住我及首页定制1.开启记住我功能2.直接测试登录页定制1.在配置类增加2.测试3.记住我也自定义1.开启记住我功能2.直接测试默认保存2周 cookie登录页定制1.在配置类增加2.测试3.记住我也自定义...原创 2020-12-13 22:51:02 · 228 阅读 · 0 评论 -
SpringSecurity
SpringSecurity(spring安全)SpringSecurity是用来干嘛的?Spring Security 核心功能Spring Security 工作流程1.导入POM坐标,thymeleaf用来测试Restful,security2.访问资源3.AOP横切进入,不用繁琐配置,来一个配置类 设计之初就需要考虑,网站安全 比如SpringSecurity和shiro,认证、授权(vip1,vip2,vip3)SpringSecurity是用来干嘛的?其实spring Securit原创 2020-12-13 21:56:20 · 2034 阅读 · 4 评论 -
SpringSecurity的注销及权限控制
SpringSecurity的注销及权限控制1.开启注销功能2.html中增加注销键3.测试4.可以通过源码信息 进行设置注销后的执行1.开启注销功能2.html中增加注销键<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"><head><meta ch原创 2020-12-13 22:27:17 · 302 阅读 · 0 评论 -
SpringSecurity的用户认证和授权
SpringSecurity的用户认证和授权利用三个类: 1. WebSecurityConfigurerAdapter 自定义安全策略 2. @EnableWebSecurity 成功托管 3. AuthenticationManagerBuilder 用来自定义认证策略创建一个config类/** * 先继承一个 WebSecurityConfigurerAdapter 自定义安全策略*///@EnableWebSecurity托管给spring@EnableWebSecuri原创 2020-12-13 22:03:42 · 517 阅读 · 1 评论 -
Springboot整合Mybatis
Springboot整合Mybatis1.pom引入<!-- mybatis-spring-boot-starter:整合 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version原创 2020-12-13 20:11:21 · 72 阅读 · 0 评论 -
springBoot中使用swagger
springBoot中使用swagger1.在maven中的pom文件中加入坐标<!-- 引入swagger相关依赖 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency>原创 2020-11-22 16:55:30 · 245 阅读 · 0 评论