- 博客(28)
- 资源 (23)
- 收藏
- 关注
原创 随手记录9:项目启动加载类到静态实现静态方法调用.
随手记录9:静态类中使用spring托管类,自定义加载类简介项目结构加载方式1.通过静态代码块扫描需要加载的类的包路径2. 通过applicationContext 对象获取3.通过实现InitializingBean 接口controller 中静态调用完整版的 CapitalFileHandleContext简介项目中有很多通用的处理类需要加载到内存中;而且实现静态方法注入使用这些对象内容;这些对象一般有统一的父类(接口/抽象类);需要在项目启动就将我们指定的对象加载到内存中demo下载项目结构
2021-05-27 17:00:06
403
原创 随手记录8:@Validated统一参数校验失败统一异常处理
随手记录8:@Validated完成请求参数统一校验并且异常处理类中统一进行处理简介demo下载项目结构内容代码内容1.接受请求参数的实体类2.在controller方法中完成异常信息的拼装校验返回的操作3.优化上面的方法统一异常处理中完成参数的校验;4.统一异常处理类案例效果内容1. 传递json格式的参数信息直接抛出异常在全局异常处理类中进行异常处理2. 传递的表单参数 (抛出的异常和上面的不一样)分组操作1.分组请求的req2.分组请求的controller入口代码校验案例效果1.测试默认分组的案例2
2021-05-26 10:44:21
3333
原创 随手记录7:springboot项目打成jar包执行加载项目配置文件的方式
随手记录7:springboot项目打成jar包执行加载项目配置文件的方式简介项目结构内容代码内容简介springboot项目好多开发的时间常规操作获取文件的方式 是可以直接的 但是真正打包上线的时间发现获取不到对应的文件内容了 感觉很奇怪项目结构内容代码内容@RequestMapping("/getFile") public String getFile() throws IOException{ // 通过ClassPathResource 获取文件流内容然后打印出文件中内容 Cl
2021-03-10 15:16:21
236
原创 18课:关于Springboot配置一写多读数据源切换
18课:关于Springboot配置一写多读数据源切换简介项目结构代码简介简介公司应用积累一定时间之后数据库数据量会变多;可以考虑用到读写数据源;也就是操作事物的处理直接操作写库;大概率的读功能则直接操作读库 ;区分开对应的功能;项目结构代码简介...
2021-01-20 14:17:04
263
3
原创 java.net.SocketException: Broken pipe (Write failed) /413 Request Entity Too Large 异常问题排查
@[TOC](java.net.SocketException: Broken pipe (Write failed) /413 Request Entity Too Large 异常问题排查)线上项目偶发性的遇到 java.net.SocketException: Broken pipe (Write failed)java.net.SocketException: Broken pipe (Write failed) at java.net.SocketOutputStream.socketWri
2020-12-10 11:03:40
751
原创 17课:关于Springboot和JedisCluster结合使用,自定义缓存的序列化方式
17课:关于Springboot和JedisCluster结合使用,自定义缓存的序列化方式简介项目结构代码简介1. redis.properties文件2.pom.xml文件3.RedisConfig.java总结简介现在大部分项目多多少少都会碰到一下功能会使用到缓存的地方;本文通过redis集群进行演示通过JedisCluster实现redis缓存操作的内容;同事自定义缓存的序列化方式,在通过客户端进行命令行操作方便查看对应的key-value 的值内容.项目demo下载项目结构代码简介
2020-12-05 14:55:17
753
2
原创 16课:关于Springboot和@Cacheable注解拉去缓存,@CacheEvict清空缓存的原理
16课:关于Springboot和@Cacheable注解拉去缓存,@CacheEvict清空缓存的原理简介代码展示1.pox.xml2.application.properties文件3.RedisCacheableConfig缓存配置类内容;4.CacheableController5.PrefixKeyController 带有自定义key的6.@CachePut7.@CacheEvict总结简介关于项目中使用缓存的方式各不相同,今天来完成通过@Cacheable 注解完成方法调用拉去缓存的操作内
2020-11-19 13:47:39
2937
原创 随手记录6:application/json 类型请求修改request中的请求参数
随手记录6:application/json 类型请求修改request中的请求参数简介代码展示1.DataFormatFilter 自定义的filter2.自定义的request类BodyReaderHttpServletRequest3.HttpHelper request中读取请求参数工具类controll中方法内容总结简介http请求类型为contentType = application/json传递的json格式的参数,在到对应的Controll之前修改对应request中的请求参数,也可
2020-11-12 11:40:21
1123
4
原创 随手记录5:通过BeanPostProcessor 实现项目中接口功能增强的操作;
随手记录5:通过BeanPostProcessor 实现项目中接口功能增强的操作;简介代码内容1.自定义SportServiceBeanPostProcessor2.Config配置我们自定义的SportServiceBeanPostProcessor3.需要增强的SportService接口和实现类4.KhyController 中的代码总结简介项目中某些已经实现的功能,可能会要求在方法添加额外的操作内容,比如咋方法前面打印日志内容,或者记录接口操作的耗时时间等,已经完善的代码不想大范围的改动,本文通
2020-11-10 16:01:24
309
原创 随手记录4:spring上下文ApplicationContext 两种获取方式和使用获取普通对象和FactoryBean的不同;
随手记录4:spring上下文ApplicationContext 获取和使用;简介关于ApplicationContext 获取关于ApplicationContext 使用1.UserService .java2.FactoryBeanConfig .java结论简介项目中基本上好多对象都是交给spring管理的;但是有些静态的工具类中想获取该对象又不能通过 @Autowired直接注入;或者有些方法里面需要使用到spring托管的对象; 可以通过ApplicationContext 直接获
2020-09-03 14:21:52
516
原创 随手记录3:spring 中的@Bean和@Service 注解的内容使用;
随手记录3:spring 中的@Bean和@Service 注解的内容使用;简介1.UserService2.FactoryBeanConfig 配置类;3.FactoryController简介基于之前的文章Spring FactoryBean的使用我们了解到@Bean和@Service注解都能将Bean注入spring容器中@Bean注解在方法上一般在配置类的中搭配@Configuration/@Component 注解使用,@Bean 括号里面不指定目标对象的名称则以方法名为主,如果指定了
2020-09-02 17:44:28
1040
原创 随手记录2:spring 中的自定义的FactoryBean的使用
随手记录2:spring 中的自定义的FactoryBean的使用简介一.实现FactoryBean创建bean交给spring管理1. 目标对象我们的UserService2.UserServiceFactoryBean 目标对象的工厂类3.FactoryBeanConfig 配置UserServiceFactoryBean工厂类的4.FactoryController 中注入 UserService对象;二.通过FactoryBean对目标对象进行功能增强;1.UserServiceImpl2.User
2020-09-02 16:57:59
493
原创 随手记录1:springboot基于java文件配置SqlSessionFactoryBean配置项
简介基于之前的文章第12课:springboot +mybatis +mysql 最简单配置化的demo里面是最简单化配置 SessionFactoryConfig 我们指定通过@MapperScan 扫描我们的mapper.java文件,但是需要我们将对应的mapper.xml放到resources相同包路径下面的文件夹才能加载生效;类似下面的图片 当然如果我们的mapper的包路径比较深这个文件夹的目录相对而言也会比较深;我们基于xml配置SqlSessionFactoryBean 可
2020-09-02 10:46:30
1849
1
原创 15课:关于自定义生成xml和解析xml的代码内容;
15课:关于自定义生成xml和解析xml的代码内容;简介项目结构生成的xml格式的样例代码实现内容;1.pom.xml文件2.package-info.java3.根节点里面的属性配置3.main入口方法简介现在的项目中请求和响应大多数使用的都是json个数的;但是有些需要调用三方的接口依然使用的是通过xml来接受参数以及响应结果的;就需要我们根据三方的要求生成指定格式的xml字符串,以及根据返回的xml格式字符串解析成map格式(或者对应的实体类)项目结构生成的xml格式的样例<?xm
2020-08-31 14:21:37
744
1
原创 14课:mybatis-generator逆向工程生成model/mapper/mapping带有中文字段注释的
14课:mybatis-generator逆向工程生成model/mapper/mapping简介项目的结构代码内容1.pom.xml2.MybatisMain.java3.MyCommentGenerator1.数据库表映射的model字段带有字段描述2 .model上面的get/set方法上的注解3.model class上面的注解内容,默认生成在package后面4. mapper接口方法上的注解内容4. 去掉mapper.xml中的方法默认的注释内容;简介项目中难免会[]碰到新增数据库表,同时还
2020-08-25 17:54:19
449
2
原创 13课:springboot实现发送邮件的功能
13课:springboot实现发送邮件的功能简介项目的结构代码内容1.pom.xml2.EmailConfig.java3.email.properties4.MailController.javaQQ邮箱的配置1.登录个人的qq邮箱2.通过账户设置下拉找到邮箱服务设置开启指定服务内容;简介项目中可能会碰到需要我们会碰到需要发送邮件的功能,预警信息,异常报警等等.本案例通过springboot来实现通过qq邮箱来模拟发送邮件的功能项目demo下载项目的结构代码内容1.pom.xml&l
2020-08-19 16:20:16
328
原创 第12课:springboot +mybatis +mysql 最简单配置化的demo
第12课:springboot +mybatis +mysql 最简单配置化的demo简介简介应用的项目中基本上都少不了连接到对于的数据库;现在主流的用法springboot+mybatis+mysql 的配置内容;给出的springboot 默认帮我们配置了很对的配置内容项;需要我们配置的内容少之又少了;下面就给出最简答配置的实现;基本上增删改查/事物都能实现...
2020-07-23 10:23:45
284
原创 第11课:springboot 实现https添加证书内容做https接口部署
简介单个项目中如果需要做https的项目部署,一般可能直接通过nginx配置的https的请求负载到对应的接口方法上则访问方法的时间实现https功能的实现.如果只是简单的项目应用不想配置nginx还可以通过springboot+配置https证书内容来实现具体的功能;项目的目录https 证书生成keytool生成tomcat证书 tomcat7之后支持 jks和pfx两种1.生成pkcs12 格式jks证书keytool -genkeypair -alias dongli -keysto
2020-07-06 15:34:05
919
原创 第十课:springboot 通过RestTemple实现http接口调用
简介项目中关于RestTemple的简单的get/post请求的方法就不进行过多的介绍,本案例中主要介绍各种请求参数逇传递 表单数据/json格式的数据传递, 请求的响应信息的处理;比如响应的信息是List 如果不做处理的话RestTemple 默认将信息处理成List 格式的数据,类似的这种如何处理;还有碰到页面端或者需要将本地的文件File或者MultipartFile 当成请求参数请求下游的http接口内容; 或者下游的响应回文件给我们 如何实现流传递和下载到本地或者输出到浏览器; 案例里面都会有代
2020-06-18 15:10:12
1394
原创 第九课:springboot 通过@Condition实现将不同配置类注入到spring中
简介基于上篇文章第八课:springboot 通过@Profile注解配合maven打包的应用我们通过@Profile注解 通过maven 打包的时间指定不同环境加载不同值;项目中还可能会碰到 根据某一个属性或者别的条件判断决定是否使配置中的某个类是生效的;或者通过我们自定义的条件来判断是否需要将当前类注入到spring对象中;项目的结构代码内容1.pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=
2020-06-16 15:03:11
722
原创 第八课:springboot 通过@Profile注解配合maven打包的应用
简介基于前面的 文章第六课:springboot实现不同环境配置加载方式一项目中我们不但会碰到不同的测试环境配置的文件可能不同;有时间配置的一些拦截器或者特殊功能的类也有可能是不同的; 那就需要我们根据不同的环境配置来确定某些对象是否生效;比如案例中的白名单设置;我希望在线上环境是生效的;但是对应的测试环境没有什么太多作用;还需要根据不同的上游配置很多的白名单信息; 就需要用到@Profile注解;@Profile 注解可以设置在对象或者对应的@Bean注释的方法上;标识当前spring.prof
2020-06-15 15:25:08
332
原创 第七课:springboot实现不同环境配置加载方式二
简介基于上一篇文章内容;第六课:springboot实现不同环境配置加载方式一能实现简单的项目通过maven 打包去加载不同文件下面的properties文件内容;但是如果项目系统比较复杂;依赖的pproperties配置项内容都放到一个文件;一方面管理不太好管理;另外可读性或者扩展性比较差(遇到需要指定properties文件名的)那就需要我们把这些不同的配置文件给分成多个properties文件;然后放到同一个文件夹;通过不maven打包制定不同环境的命令去加载不同环境对应的文件夹下的所有的文
2020-06-12 11:38:18
292
原创 第六课:springboot实现不同环境配置加载方式一
简介简单的项目中,我们可能会遇到将本地的代码打包发版到不同的环境中去;但是不同的环境的properties里面的配置的属性或者value 值可能并不相同;但是我们打包的时间就可能需要在同一个application.properties文件中根据不同环境去注释掉别的环境的配置;打开本环境的配置;然后打包发版 这样做起了无疑是比较麻烦的而且容易出现错误; 当前案例是最简答的区分环境的的主要针对的是只有一个properties文件的项目的结构如上图 springboot 默认使用的application.
2020-06-12 10:59:46
664
原创 第五课:springboot实现全局异常处理
这里写自定义目录标题简介项目的结构代码内容1.pom文件2.启动的main方法3. GlobalExceptionHandler4. BusinessException5. PropertiesResource6. ExceptionController新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的
2020-06-02 17:54:25
432
1
原创 第四课:springboot实现aop对方法进行拦截使用
简介关于spring的aop相信只要是java开发的可能没有用过但是出去面试的时间也一定会被问到过.但是在一整个项目中aop怎么用的可能有些人还真的就不是特别的清楚;可能因为项目比较复杂;很难吧部分aop功能的代码给摘出来;或者项目中就没有真的使用过.项目的结构代码内容1.pom文件<project xmlns="http://maven.apache.org/POM/4.0.0...
2019-10-21 14:59:44
2124
原创 第三课:springboot+自定义注解做接口的权限校验
简介项目中经常能碰到有些接口是需要用户登录之后才能访问的,而有些的是不要做登录校验的;当然可以使用到一些权限管理的框架;但是有些简单的业务功能的就可以通过自定义注解+自定义的拦截器设置指定的消息内容;项目的目录项目的代码内容1.自定义的注解内容主要通过添加在指定的方法判断接口访问是不是需要登录/*** * 设置拦截器通过注解设定某种属性 * @author kanghanyu...
2019-10-15 15:15:03
1672
2
原创 第二课:Lambda表达式详解内容
java1.8中lambda表达式一下是关于lambda中的常规的用法内容;1.将map中的value转成对应的list集合内容Map<String,UserEntity>map = new HashMap<>(); UserEntity entity = null; for (int i = 0; i < 10; i++) { entity = ...
2019-10-15 14:43:04
254
原创 第一课:springboot结合使用logback的日志使用
springboot结合使用logback的第一课项目的目录内容在这里插入代码片在这里插入代码片`欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰...
2019-10-11 16:49:43
198
统一进行请求参数格式化操作.zip
2021-05-26
redis-cluster结合springboot的使用自定义序列化
2020-12-05
springboot结合 @Cacheable和@CacheEvict拉起和清空缓存.zip
2020-11-19
BeanPostProcessor实现注入的@Autowired注入的对象是增强的代理对象.rar
2020-11-11
spring的FactoryBean增强我们的目标对象.rar
2020-11-11
通过@Autowired注解注入bean的顺序,以及@bean注入.rar
2020-11-11
mybatis逆向工程
2020-08-25
springboot+mybatis+mysql+AbstractRoutingDataSource实现多数据源切换(一写多读数据源)
2020-07-28
springboot+mybatis+mysql的配置
2020-07-23
springboot结合https证书部署成https的应用内容;
2020-07-06
Springboot的restTemplehttp请求的参数传递响应信息的统一格式,关于请求传递文件和文件导出下载的
2020-06-18
springboot通过@Condition注解类型完成加载配置内容
2020-06-16
springboot通过@Profile注解配置不同环境
2020-06-15
springboot实现maven打包加载不同环境的方式二
2020-06-12
springboot实现maven打包加载不同环境的方式一
2020-06-12
boot-exception.rar
2020-06-02
springboot+aspect实现springaop拦截指定方法.zip
2019-10-21
springboot通过自定义注解完成简单的权限认证.zip
2019-10-11
logback+springboot的基本使用方式.zip
2019-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人