- 博客(28)
- 收藏
- 关注
原创 maven-聚合
聚合工程中所包含的模块,在构建时,会自动根据模块间的依赖关系设置构建顺序,与聚合工程中模块的配置书写位置无关。maven中可以通过设置当前聚合工程所包含的子模块名称。--聚合其他模版-->
2024-08-01 11:13:29
302
1
原创 <dependencyManagement>与<dependencies>的区别
dependencyManagement>是统一管理依赖版本,不会直接依赖,还需要在子工程中引入所需依赖(无需指定版本)<dependencies>是直接依赖,在父工程配置了依赖,子工程会直接继承下来。
2024-08-01 08:56:31
407
原创 SpringBoot原理-原理分析-源码跟踪
到Spring3.X版本之后,spring.factoies这个文件就会被彻底的移除掉,所以我们要导入的配置类直接定义在第一个文件中,这个文件定义配置类的全类名,就可以通过@Bean注解来声明一个一个的Bean对象,最终,SpringBoot项目在启动时,就会加载这个配置文件中的配置类,将这些配置类的信息封装到String类型的数组中,最终通过Import这个注解,将这些配置类全部加载到Spring的IOC容器当中,并不是全部注册为IOC容器中的Bean,而会根据@Conditional注解条件装配。
2024-07-27 16:44:07
742
原创 SpringBoot管理-起步依赖/自动配置方案
就是分析在SpringBoot项目中,我们引入对应的依赖以后,是如何将依赖jar包中的这些Bean以及配置类加载到当前项目的SpringIOC容器当中,我们能够直接使用。@ComponentScan({"com.ithema","com.example"})//组件扫描,扫描com.ithema和com.example这两个包。@Import({MyImportSelector.class})//导入ImportSelector接口实现类,再实现类中指定要交个IOC容器管理的类。特点:使用繁琐,性能低。
2024-07-27 14:22:34
307
原创 SpringBoot-Bean-第三方Bean
/通过@Bean注解的name/value属性指定bean名称,如果未指定,默认是方法名。@Bean//将方法返回值交给IOC容器管理,成为IOC容器的bean对象。在定义Bean对象的方法参数中设置形参即可,容器会根据类型自动装配。若类是第三方依赖提供的,我们不能进行编辑,不能在类上加上注解。我们自己的类要声明成Bean对象,只需要在类上加上。若未给bean对象声明名字,默认为类的首字母小写。2.项目中引入第三方的,使用@Bean注解。//声明第三方bean。第三方类转为Bean对象。
2024-07-26 17:09:52
937
原创 SpringBoot-Bean-Bean作用域
默认情况下Bean初始化的时机是在容器启动的时候,如果想要延迟初始化就可以在类上加上@Lazy注解。@Scope("prototype")//设置为非单例的。
2024-07-26 17:06:36
262
原创 Springboot-配置优先级
虽然springboot支持多种格式配置文件,但是在项目开发时,推荐统一使用一种格式的配置(yml是主流)若使用的软件不是IDEA或者项目已经打包上线了,我们可以通过以下操作来设置java系统属性和命令行参数。SpringBoot除了支持配置文件属性配置,还支持java系统属性和命令行参数的方式进行属性配置。在IDEA中可以通过以下界面进行设置(命令函参数优先级高于ava系统参数)----执行maven打包指令package。如配置Tomcat的端口号。----在控制台进行操作。
2024-07-25 16:24:46
377
1
原创 IDEA中配置文件乱码解决方法
如果出现以上情况,请依次点击File-settings-Editor-File Encodings,在按照如下页面设置。点击Apply,就会解决。
2024-07-25 09:08:06
328
原创 AOP案例-记录操作日志
2,由于增,删,改方法名没有规律,使用execution表达式不好描述,所以采用@annotation切入点表达式,自定义@Log注解进行目标方法匹配。1,需要对所有业务类中的增,删,改方法添加统一功能,使用AOP技术最为方便,日志中包含返回值,方法执行耗时,所以我们要采用环绕通知。//记录操作日志,需要调用OperateLogMapper接口中的insert方法记录操作日志。日志信息包括:操作人,操作时间,操作的类名,操作的方法名,方法参数,返回值,方法执行耗时。//获取请求头中的jwt令牌,解析令牌。
2024-07-24 17:23:39
1484
原创 将对象转为JSON格式的数据
要想将result对象保存到数据库的表中(为字符串),我们可以将result对象转成JSON。1,引入fastJSON的依赖。2.调用其中的API。
2024-07-24 16:45:10
380
原创 AOP-切入点表达式
Retention(RetentionPolicy.RUNTIME)//指定运行时生效。2.@annotation(.......):根据注解匹配。1.execution(.....):根据方法签名来匹配。@Target(ElementType.METHOD)//作用范围。@annotation切入点表达式,用于匹配标识有特定注解的方法。——作用:主要用来决定项目中的哪些方法需要加入通知。——切入点表达式:描述切入点方法的一种表达式。其中方法名中的方法参数为参数的全类名。2.在业务方法上加上这个注解。
2024-07-23 09:08:35
328
原创 全局异常处理器
ExceptionHandler(Exception.class)//捕获所有异常。return Result.error("对不起,操作失败");
2024-07-20 08:58:46
109
原创 登录校验-Filter执行流程
,放行后就会访问对应的web资源,web资源访问完后,还会返回Filter中来执行放行后的逻辑,这就是过滤器Filter的执行流程。放行后访问对应的资源,资源访问完成后,还会返回Fliter中,执行放行后的逻辑,不会重新执行。过滤器拦截到浏览器的请求后,首先执行放行前的逻辑,再执行放行操作(
2024-07-19 08:35:06
255
原创 登录校验(JWT)
parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidG9tIiwiaWQiOjEsImV4cCI6MTcyMTI4OTc4M30.QF3mtk4P8Szxr1H7uGD1Lg2ddW4th9HvnxA_8jh15P4")//把令牌传递进来。.setExpiration(new Date(System.currentTimeMillis() + 3600 * 1000))//设置有效期为1个小时。.setClaims(claims)//自定义内容(载荷)
2024-07-18 15:57:50
142
原创 @ConfigurationProperties与@Value的比较
ConfigurationProperties可以批量的将外部的属性配置输入到bean对象de属性中。不同点:@Value注解只能一个一个的进行外部属性的注入。相同点:都是用来注入外部配置的属性。
2024-07-17 09:17:57
222
原创 文件上传前端的三要素
1,前端想要文件上传,必须要先定义一个form表单,并且在表单中定义一个表单项(type="file"),在前端页面的体现形式为选择文件的一个按钮,点击选择文件就会弹出一个窗口,就可以选择本地文件,这就是第一要素,要有一个表单项file。3,在form表单中,我们要通过enctype这个属性来指定表单的编码格式为multipart/form-data,2,提交方式必须是post方式,因为要进行文件上传,一般文件比较大,我们要使用post上传。因为普通的默认的编码格式是不适合传输大型的二进制数据。
2024-07-12 14:30:57
225
1
原创 xml映射文件定义的三点规范
1.同包同名,XML映射文件的名称与Mappper接口名称一致,并且放置在相同包下。2.XML文件的namespace属性为Mapper接口全限定名一致。3.XML文件中的sql语句的id与Mapper接口中的方法名一致。
2024-07-11 16:59:23
425
原创 前后端交互基于restful开发规范
描述模块的功能通常使用复数,也就是加s的格式来描述,表示此类资源,而非单个资源。如:users,emps。REST风格(URL定位资源,HTTP动词描述操作)REST是风格,是约定方式,约定不是规定,可以打破。
2024-07-08 20:56:02
185
原创 无限循环:
System.out.println("学习");System.out.println("学习");System.out.println("学习");
2023-10-09 21:35:08
60
1
原创 不同的数据类型进行运算时的运算规则
取值范围的大小顺序按依次增大为:byte short int long float double。byte short char 这三种类型的数据进行运算时,都会提升为int,然后再进行运算。取值范围小的和取值范围大的进行运算时,小的会先提升为大的,在进行运算。数据类型不一样不能进行运算,需要转为一样的才能进行计算。
2023-10-08 16:32:37
284
1
原创 计算机中的单位
按大小依次排列bit -比特位byte -字节kbmbgbtbpb1mb=1024kb1gb=1024mb1tb=1024gb1pb=1024tb。
2023-10-07 21:36:38
70
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人