spring boot
文章平均质量分 72
Echoo华地
在海岸
风冰凉
在路上抬头向上望
展开
-
Maven配置集profile
在开发场景中,通常有dev、sit和prod三个环境,分别对应开发、内部测试和生产。在不同的环境中,因为数据、资源等隔离需要,往往需要不同的配置,这样在部署项目的时候就有着多套配置集灵活选择的需求(避免手动修改的繁琐操作)。Maven中的profiles配置集就是很好的一个解决方案,需要那个配置就指定激活那个配置。原创 2024-05-14 11:32:14 · 857 阅读 · 0 评论 -
classpath:前缀,配置文件中的相对路径
通常指的是类路径,这是一个Java应用程序用来查找类文件、资源文件和其他所需文件的路径。在大多数情况下是等价的,它们都可以用来指定类路径中的资源。上面的配置告诉Spring Boot从类路径中加载。前缀时,相当于指定一个相对于类路径的资源位置。前缀来指定文件系统中的文件路径,或者使用。这个文件,将其内容合并到主配置文件。在SpringBoot的。目录下,那么就可以在。原创 2024-03-06 10:10:32 · 1733 阅读 · 1 评论 -
Apache-Camel中的Quartz定时任务
需求:在camel的基础上增加两个定时任务,一个需要发邮件,一个只需要简单调用存储过程并拿回数据记录日志即可。表示这是一个quartz定时任务。后面跟的是cron定时表示式。原创 2024-02-22 16:40:38 · 596 阅读 · 0 评论 -
javax.mail/jakarta.mail框架发送smtp邮件
项目需求是完成某些业务后发送smtp邮件通知用户。原创 2024-02-27 11:13:52 · 613 阅读 · 0 评论 -
使用@RequiredArgsConstructor注入时@Qualifier失效问题
注解,可能会发生注入失败报错的情况,所以如果是不会变动的字段,最好用。库提供的一个注解,用于自动生成一个构造器,这个构造器会为所有用。注解的字段提供参数支持,也就是属性注入。在一个项目中,使用到了 Lombok 的。说找到了两个Bean,不知道注入哪一个。关键字修饰,可能变动的字段用。一下,重新构建一下项目即可。注解到构造器中,所以会失效。然后在里面添加一项配置:把。添加进允许复制的注解列表中。在项目根目录下创建一个。Lombok没有复制。原创 2023-06-26 15:04:39 · 4092 阅读 · 2 评论 -
java动态代理
通过继承的方式实现动态代理,通过继承目标类,创建它的子类,在子类中重写父类的同名方法,实现功能的修改。(因为是继承重写的方式实现代理,因此要求目标类不能是。④ 创建工厂类,为了简化创建代理对象的过程(这里用了泛型约束,可以不用)反射包中的接口和类实现动态代理,要求。② 创建目标类实现目标接口。工具库,能够创建代理对象。修饰,要重写的方法也不能是。目标类是实现目标功能的类。③ 创建对应的处理器实现。方法(里面写增强业务)④ 创建代理对象,测试。原创 2023-02-27 14:42:58 · 1225 阅读 · 0 评论 -
SpringBoot异步线程注解@Async&@EnableAsync的使用
在 SpringBoot 应用中,经常会遇到在一个接口中,同时做事情1,事情2,事情3,如果同步执行的话,则本次接口时间取决于事情1 2 3执行时间之和;如果三件事同时执行,则本次接口时间取决于事情1 2 3执行时间最长的那个,合理使用多线程,可以大大缩短接口时间。那么在 SpringBoot 应用中如何优雅的使用多线程呢?原创 2021-11-27 17:30:39 · 4035 阅读 · 9 评论 -
若依前后端分离项目源码解读笔记
然后通过的安全管理器调用方法,传入刚才创建的认证对象进行认授权认证在若依框架中,这个安全管理器是在配置类中手动注入容器的安全管理器调用方法,会进入方法做登录校验操作,这个是若依实现的,方法里就是若依自定义的登录逻辑。这里跳过了一些细节,就是如何保证方法用的是若依自定义的登录逻辑?这个是通过重写这个安全适配器里面的方法来指定的。首先可以看到配置类是继承了这个父类的,然后通过重写方法来指定用户详情业务对象,这个就是若依自定义的认证业务对象。再来看这个若依自定义的业务,这个业务实现了的接口,并通原创 2022-11-29 15:58:12 · 3004 阅读 · 0 评论 -
Mybatis的xml(mapper)映射用法
为了将结果注入构造方法,MyBatis 需要通过某种方式定位相应的构造方法,从版本 3.4.3 开始,可以在指定参数名称的前提下,以任意顺序编写 arg 元素。有些情况下想使用不可变类,只在构造方法初始化时才能为类属性赋值,constructor 元素就是为此而生的。把查询出来的关联结果映射到属性的属性中,如下把作者相关的关联数据。集合元素和关联元素几乎是一样的,相似的程度很高,直接上案例!中,可以使用集合元素。查询,或基于连接的嵌套结果映射集合。属性的类型和集合存储的类型区分开来。原创 2022-06-02 15:45:22 · 3490 阅读 · 0 评论 -
SpringBoot入口深入
就是尽头了,一路初始化就是为了封装选项参数的。(应用参数)这个对象,看名字它应该是用来封装。(有限属性源)做初始化,继续进去。这些启动命令行就带有选项参数,所以说。(简单命令行属性源)的构造器,深入!(有限属性源)又调用了它的父类。(简单命令行属性源)用的是它的父类。,再封装到一个类似键值对包装类的。类型的参数是什么参数,有什么作用。的构造器初始化的,并且创建了一个。其实就是运行程序的命令行参数。(简单命令行属性源)的父类。这个类型的工厂的名称集合。看到这个就很清楚了,特别是。(属性源)做初始化,继续。原创 2022-11-23 15:13:33 · 802 阅读 · 0 评论 -
@RequestBody和@RequestParam区别
版权声明:本文基于CSDN博主「justry_deng」的原创文章修改,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/justry_deng/article/details/80972817/主要用来接收客户端请求传递给后台接口的。字符串中的数据(请求体中的数据);如果后台接口接收参数是一个对象,以。方式的请求没有请求体,所以使用。接收数据时,客户端不能使用。方式提交数据,需要用。在同一个后台接口里,修饰的,那么前端传递。转载 2021-05-22 19:15:15 · 4909 阅读 · 0 评论 -
Mysql-<foreach>用法
index: 当前循环索引;(注意:同一mapper.xml多个接口用到了foreach循环时,每个循环 index 指定的索引名称要唯一)collection: 待循环的集合 / 数组(接口中定义的参数名);close: 循环输出语句尾字符,一般为 ‘(’;open: 循环输出语句头字符,一般为 ‘)’;separator: 元素间隔符,一般为 ‘,’;item: 集合 / 数组 元素;原创 2022-04-29 10:59:28 · 7380 阅读 · 0 评论 -
mybatis-plus踩坑之下划线驼峰转换
会把数据库字段中的下划线自动转换成驼峰形式,然后去匹配实体类对象的字段。中指定映射关系,这样增加了很多工作量。所以非必要情况下类字段还是不要用。但是这里有个问题,你关了自动驼峰转换,所有字段都要通过。如果在一个实体类中存在一个带下划线的字段,查询出来为。注解去指定映射关系,查询结果也为。注解去指定映射关系或者在。去命名字段,省得麻烦。原创 2022-02-08 15:29:40 · 28669 阅读 · 13 评论 -
搭建Maven父子项目结构
中声明后,子模块在使用依赖的时候就无须声明版本,这样做的好处就是确保版本一致,方便版本统一管理。中的依赖,因为此标签中的依赖子pom不会自动继承,而需要额外声明。解压软件打开,文件非常少,基本就是这个模块本身的编译文件(.class)编辑一下需要忽略的文件(根据文件后缀区分),后面上传。接下来就是导入需要用的基本依赖(按自己的需求导入)包,妥妥报错,因为它没有指定入口程序,依赖也不全。目录结构变了,多了个BOOT-INF,在。,把以下几个标签去掉,我们不需要。,只有一些基本的构建信息,没有。原创 2022-09-23 17:29:02 · 2949 阅读 · 0 评论