spring
spring
goxingman
这个作者很懒,什么都没留下…
展开
-
springboot增加logback日志记录ip
3、增加logbackxml配置。原创 2023-06-28 11:36:11 · 1579 阅读 · 0 评论 -
@Validated分组校验
第三步、在控制层@Validated注解后添加具体校验的分组名。第一步、定义一个校验组类,声明四个接口对应不同场景校验。第二步、在实体类具体属性添加校验规则及校验分组。原创 2023-04-17 15:44:00 · 971 阅读 · 0 评论 -
@Validated校验参数+统一返回前端错误信息
【代码】@Validated校验参数+统一返回前端错误信息。原创 2023-04-17 15:42:18 · 1452 阅读 · 0 评论 -
springSecurity 登录及验证登录实现
整体流程:1、核心类websecurityAdapter(需要注意的我都注释了)//注意这个注解一定要加@EnableWebSecuritypublic class WebSecuirityAdapter extends WebSecurityConfigurerAdapter { @Autowired private LoginSuccessHandler successHandler; @Autowired private LoginFailHandl原创 2021-03-18 16:41:41 · 1260 阅读 · 0 评论 -
spring的controller层参数合法性校验,多层实体类情况
一、对于只有一层的实体类,直接使用@Validated注解就行。①controller层。原创 2022-10-31 15:33:37 · 1078 阅读 · 4 评论 -
springboot创建测试类
1.pom.xml添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>原创 2022-03-02 13:29:17 · 2371 阅读 · 0 评论 -
controller层传单值时用get请求接收参数
@RequestMapping(value = "/get/{id}", method = RequestMethod.GET) public Result<UserRole> get(@PathVariable String id){ }原创 2022-02-18 16:24:11 · 1138 阅读 · 0 评论 -
springboot在配置文件中设置特定功能的启用和停用@ConditionalOnProperty()
场景:有时候我们需要在生产和开发环境对某个功能进行不同的设置。例如定时功能@EnableScheduling,我们希望在测试环境禁用定时自动处理,在生产环境启用,这时候就可以用到这个设置实现:创建配置类,增加@ConditionalOnProperty(prefix = "enable", name = "scheduled", havingValue = "true")注解@Configuration@EnableScheduling //启用定时任务//配置文..原创 2021-12-30 09:07:18 · 1431 阅读 · 0 评论 -
spring aop注解的使用
一、导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>二、相关注解@EnableAspectJAutoProxy //启动类加上,开启aop功能原创 2021-04-27 09:36:00 · 293 阅读 · 0 评论 -
springboot整合@async 执行异步方法
一、首先创建自定义async配置类,主要是为了在里面定义异步执行的线程池和自定义错误处理方法@EnableAsync@Configurationpublic class AsyncExecutorConfig implements AsyncConfigurer { @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskE原创 2021-03-31 13:37:18 · 165 阅读 · 0 评论 -
springMvc使用多线程处理请求,参数中有file时 ,报错找不到临时文件
一、原因,在springMvc处理请求参数中有file时,会将file临时存储到一个位置,等线程结束后,临时文件被删除。但是如果使用了多线程(异步)处理请求,当这个请求分发到某个线程A后,主线程立即结束并将此临时文件删除,造成了A线程无法读取到这个文件,报出无法找到此文件。二、解决方法,在下面代码中已经给出,我们在异步处理这个请求时,不要直接把文件传给下一级方法,而是把文件转化为java内存流对象后 ,再把流对象传给异步方法,这样就不会出现因为主线程删除文件导致的文件找不到错误了 //s.原创 2021-02-07 10:21:50 · 1681 阅读 · 5 评论 -
springboot自定义全局异常处理+前台返回异常统一处理
一、思想第一步、定义一个返回类型枚举rescode,返回类res(rescode)第二步、自定义运行时异常类bussEx ,定义全局异常处理类GolbEx第三步、判断返回前端是否出现异常 3.1出现异常:手动抛出bussEx(rescode),并传入错误类型,会触发GolbEx类中关联bussEx的方法handler(ex),在 handler()中取出code和info,封装到res返回类,返回给前端 ...原创 2020-05-19 09:05:41 · 2243 阅读 · 0 评论 -
springboot 整合mybatis 运行单元测试 报错 CONDITIONS EVALUATION REPORT
============================CONDITIONS EVALUATION REPORT============================Positive matches:----------------- AopAutoConfiguration matched: - @ConditionalOnProperty (spring.aop.auto=true) matched (OnPropertyCondition) AopAutoC.原创 2020-12-11 13:18:03 · 4650 阅读 · 4 评论 -
spring 初始化bean时添加前置和后置方法的4中方法
一。在bean中自定义init和destroy方法,然后在@bean中加入这两个方法二。bean实现 InitializingBean, DisposableBean两个接口,然后实现这两个接口的方法三。bean中使用 @PostConstruct和@PreDestroy注解定义方法四bean实现BeanPostProcessor接口,并重写里面的两个方法...原创 2020-07-31 14:17:28 · 1556 阅读 · 0 评论 -
spring 将bean注入容器4种方式
一.通过xml方式注入容器1.建立xml文件,将bean配置到xml中2.创建xml读取方法,ClassPathXmlApplicationContext()来读取配置文件二。通过@componentScan,扫描指定包下的bean1.创建bean,注意加上@component注解2.创建配置类,扫描bean所在包3.启动时加载配置类,(如果项目是springboot,那么会自动加载配置类,不用这一步)三。通过@bean注入容器1.创建bean,不用加上@原创 2020-07-30 17:22:41 · 1861 阅读 · 0 评论 -
springBoot 2.3.0版本及以后版本不支持es查询工具jestClient自动注入
背景:之前java项目是springboot的,使用到es查询一直用jestClient,这次springboot升级到2.3.0后发现jestClient自动注入报错了,发现不支持jestClient自动注入了解决方法有两个思路:1、手动创建jestClient,并手动注入springboot容器,用起来应该和以前区别不大,只是多了一步,下面简单举个手动注入的例子 <dependency> <groupId>org.spri.原创 2020-05-22 10:51:37 · 4100 阅读 · 2 评论 -
一个springboot 项目a集成另一个springboot 项目b 并且可以运行访问b的control层
分为几步,并且有一些坑,设置错误就执行不了1.操作:项目b打包依赖修改,把上面的springboot默认打包依赖注释,改为下面的,因为默认打包出来是可执行jar,导入项目a后无法扫描(具体为什么无法扫描请知道的留言0.0)<!--初始springboot打包插件--> <!--<build>--> <!--<plug...原创 2020-04-28 11:26:48 · 6284 阅读 · 2 评论 -
spring用注解无法灵活注入带参构造函数解决办法-GetBeanUtil工具类
在日常使用spring中,用注解开发比较多,包括 @Repository @Autowird等,但是有时候需要的对象是带参构造函数的,这个时候使用@Repository就会报错,而直接在使用处new的话,由于引用的对象用了 @Repository被spring容器管理,会造成空指针的现象。所有就遇到了矛盾此时,我们不妨转换一下思路,在需要new的对象里不要用@Autowird,直接用Appl...原创 2020-04-22 13:46:28 · 3011 阅读 · 5 评论 -
spring mybatis实现多数据源
在实际应用场景中,一个项目难免用到多数据源,下面说一下Spring中如何配置多数据源1.application.yml中master: datasource: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://127.0.0.1:3306/spider?useUnicode=true&...原创 2020-04-22 11:45:45 · 789 阅读 · 1 评论 -
spring中读取配置文件中自定义变量
有两种方法一、@Value(“${xxx.xxxx}”),在需要使用的地方用value注解yml中mypop: value1: abc代码中@Value("${mypop.value1}")String value ; @Test public void test8(){ System.out.println(value); }二、定义一个配置...原创 2020-01-19 16:37:01 · 1192 阅读 · 0 评论 -
springboot静态资源文件夹 使用
一、静态资源文件夹作用静态资源文件夹作用是可以直接在浏览器输入正确的访问路径,即可看到对应文件夹,如:http://127.0.0.1:8080/xxx.jpg注意:和在服务器上读取资源文件是两回事,之前搞混了,所以卡到这半天,下一篇介绍服务器读取文件例如:下图代码就是服务器读取文件String f = this.getClass().getClassLoader().getRe...原创 2019-12-24 11:42:16 · 2552 阅读 · 0 评论 -
springboot 访问 jsp文件
1.添加依赖(由于springboot本身不支持解析jsp) <!-- tomcat的支持.--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-emb...原创 2019-12-10 18:02:47 · 216 阅读 · 0 评论 -
Spring aop的实现原理
Spring aop的实现原理简介 前段时间写的java设计模式–代理模式,最近在看Spring Aop的时候,觉得于代理模式应该有密切的联系,于是决定了解下Spring Aop的实现原理。说起AOP就不得不说下OOP了,OOP中引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。但是,如果我们需要为部分对象引入公共部分的时候,OOP就会引入大量重复的代码。例如...转载 2018-12-02 20:33:45 · 199 阅读 · 0 评论