202206-29 SpringBoot是如何实现自动配置的你知道吗 目录SpringBoot启动类:步骤如下:总结SpringBoot启动类:@SpringBootApplicationpublicclassCommunityApplication{publicstaticvoidmain(String[]args){SpringApplication.run(CommunityApplication.class,args);}}进入@SpringBootApplication源码中:AutoConfigurationImportSelector类的作用就是往Spring容器中导入组件,我们再进入这个类的源码,发现有这几个方法:loadmetadata的方法是加载项目的基本配置数... 继续阅读 >
202206-13 SpringBoot feign动态设置数据源(https请求) 目录1、背景2、代码2.2、编写请求方法2.3、发送请求总结:1、背景在使用springboot-feign/spingcloud-feign时,需要在启动springboot的时候,注入的方式将feigncofing配置好,也就是说项目启动以后只能有一个数据源,且不能修改,在网上找了很多资料没有找到解决方案(网上应该有,只是我没有找到),后面只能是硬着头皮看源码,问题解决,在此记录一下,希望可以帮到有缘人2、代码其实在这里用的原生的feign,并不是springboot/sp... 继续阅读 >
202206-10 springboot Actuator的指标监控可视化功能详解 springboot为我们提供了丰富的指标监控功能SpringBootActuatorSpringBootActuator是springboot为简化我们对微服务项目的监控功能抽取出来的模块,使得我们每个微服务快速引用即可获得生产界别的应用监控、审计等功能。后序文章会更新使用我们先来看看怎么可视化我们可以通过github上的开源项目这里我们创建一个springboot项目作为可视化的服务端使用新功能首先都是引入依赖需要web项目<dependency><groupId>de.codecentric... 继续阅读 >
202205-30 一篇文章带了解如何用SpringBoot在RequestBody中优雅的使用枚举参数 目录确认需求定义枚举和对象实现转换逻辑方案一:精准攻击方案二:全范围攻击测试总结确认需求需求与前文类似,只不过这里需要是在RequestBody中使用。与前文不同的是,这种请求是通过HttpBody的方式传输到后端,通常是json或xml格式,Spring默认借助Jackson反序列化为对象。同样的,我们需要在枚举中定义int类型的id、String类型的code,id取值不限于序号(即从0开始的orinal数据),code不限于name。客... 继续阅读 >
202205-30 一篇文章带你了解SpringBoot Web开发 目录SpringBootWeb开发静态资源定制首页thymeleaf模板引擎1、导入依赖2、controller书写源码分析Thymeleaf语法基本语法:MVC配置原理总结SpringBootWeb开发springboot到底帮我们配置了什么?我们能不能修改?能修改那些东西?能不能扩展?xxxAutoConfiguration:向容器中自动配置组件xxxProperties:自动配置类,装配配置文件中自定义的一些内容要解决的问题:导入静态资源首页jsp,模板引擎Thymeleaf装... 继续阅读 >
202205-27 详解Spring AOP 目录什么是AOP?AOP术语通知(Advice)连接点(Joinpoint)切点(Pointcut)连接点和切点的区别切面(Aspect)引入(Introduction)织入(Weaving)SpringAOPSpringAOP的特点SpringBoot集成SpringAOP-依赖引入-创建注解-定义切面-设置切点-业务接口编写-测试通知时机-正常情况-异常情况总结什么是AOP?AOP,即我们平时经常提到的面向切面编程。首先我们要理解一个叫横切关注点(cross-cuttingconcern)的概念,它... 继续阅读 >
202205-27 远程连接Jedis和整合SpringBoot的详细过程 目录一、远程连接Jedis1、导入Jedis所需的jar包2、远程连接Redis注意事项3、Jedis测试远程连接4、常用的数据类型5、Jedis实现事务二、整合SpringBoot1、导入依赖2、配置连接3、测试连接4、序列化5、自定义序列化6、自定义工具类7、再次进行测试一、远程连接Jedis1、导入Jedis所需的jar包<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.2.0</version></dependency>... 继续阅读 >
202205-24 使用springboot制作博客管理系统 目录前言需求分析用户管理。文章管理。链接管理。日志管理。数据管理。系统管理。功能分析部分表设计部分代码实现前言 博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的... 继续阅读 >
202205-20 SpringBoot2.x集成Dozer的示例代码 目录一、引入依赖二、实体类三、编写配置文件四、创建测试类五、Dozer的基本使用代码示例Dozer是JavaBean到JavaBean的映射器,它以递归的方式将数据从一个对象复制到另一个对象。通常,这些JavaBean将具有不同的复杂类型。它支持简单属性映射,复杂类型映射,双向映射,隐式显式映射,以及递归映射。这包括映射需要在元素层面上进行映射的集合属性。可以将Dozer用作两个对象之间属性转换的工具,使用它可以很方便地对项目中的DO... 继续阅读 >
202205-17 SpringBoot 钩子接口的实现代码 目录Aware接口族InitializingBeanBeanPostProcessorBeanFactoryPostProcessorImportSelectorImportBeanDefinitionRegistrarFactoryBeanApplicationListenerApplicationRunnerAware接口族Aware意为感知,实现Aware接口并重写其方法,可以从上下文中获取当前的运行环境常见的aware接口BeanNameAwareBeanFactoryAwareBeanClassLoaderAwareApplicationContextAware使用@Component@ToStringpublicclassTestSer... 继续阅读 >
202205-17 SpringBoot整合Mybatis Generator自动生成代码 目录1.创建SpringBoot项目2.mybatis-generator-maven插件的配置3.项目结构构建4.application.yml配置5.generatorConfig.xml配置7.选择MybatisGenerator启动,自动在dao、entity、mapper包下生成代码Mybatis是目前主流的ORM框架,相比于hibernate的全自动,它是半自动化需要手写sql语句、接口、实体对象,后来推出的Generator自动生成代码,可以帮我们提高开发效率。本文目的:SpringBoot整合MybatisGenerator自动生成dao... 继续阅读 >
202205-17 详解springboot使用异步注解@Async获取执行结果的坑 目录一、引言二、获取异步执行结果1、环境介绍2、错误的方式3、正确方式三、异步执行@Async注解四、总结一、引言在java后端开发中经常会碰到处理多个任务的情况,比如一个方法中要调用多个请求,然后把多个请求的结果合并后统一返回,一般情况下调用其他的请求一般都是同步的,也就是每个请求都是阻塞的,那么这个处理时间必定是很长的,有没有一种方法可以让多个请求异步处理那,答案是有的。springboot中提供了很便利的方式可以... 继续阅读 >
202205-15 SpringBoot全局配置long转String丢失精度的问题解决 目录第一种方式第二种方式第三种方式第四种方式(缺点:将所有的数字类型都会转为字符串)web项目中,Java后端传过来的Long/long类型,前端JS接收会丢失精度。本文推荐第三、第四种方式第一种方式简单粗暴,将所有的Lang类型,改为String,数据库改成varchar类型;第二种方式自己建个配置类extendsWebMvcConfigurerAdapter已经被弃用,直接实现WebMvcConfigurer该接口就行了@EnableWebMvc@ConfigurationpublicclassWebDataConve... 继续阅读 >
202205-15 使用springboot对外部静态资源文件的处理操作 目录springboot对外部静态资源文件的处理1、存方面倒还简单,这里贴上一个获取微信临时素材并保存的方法2、取,由于对springboot不熟悉,所以在这上面踩了坑主要使用到这2个配置之后,访问文件一直404SpringBoot2.x静态资源访问问题代码原理springboot对外部静态资源文件的处理springboot对外部资源文件的处理主要分为2部分,存和取,通过查看官方文件和看博客踩了坑之后终于搞定了,特此记录。1、存方面倒还简单,这里贴上一个获... 继续阅读 >
202205-12 使用springboot访问图片本地路径并映射成url 目录springboot访问图片本地路径并映射成url增加一个配置类:运行该工程:SpringBoot设置url访问本地图片创建WebMvcConfig配置类springboot访问图片本地路径并映射成urlspringboot如何访问本地路径并获取图片等静态资源文件的url?代码写法如下:增加一个配置类:@ConfigurationpublicclassWebMvcConfigurerextendsWebMvcConfigurer{@OverridepublicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){... 继续阅读 >
202205-12 SpringBoot集成Auth0 JWT的示例代码 目录前言session认证与Token认证session认证Token认证JWT简介JWT定义JWT的类库具体实现JWT配置JWT工具类测试接口前言说说JWT,先说下互联网服务常见的两种用户认证方式:session认证与Token认证session认证传统的Session认证的大体流程可以表示为用户提供用户名和密码登录后由服务器存储一份用户登录信息并传递给浏览器保存为Cookie,并在下次请求中根据Cookie来识别用户,但这种方式缺陷明显:Session都是保存在内存中,随着... 继续阅读 >