- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 使用 spring-boot-configuration-processor + Lombok + MapStruct 组合时为什么要配置 annotationProcessorPaths?
通过 annotationProcessorPaths 指定Processor在mvn install动作执行前期编译。都是需要通过注解实现预编译,在多模块引用后 mvn install 并不会对加了注解的。后再进行mvn install。进行编译,所以需要手动编译。
2025-04-23 16:18:35
504
原创 ArrayList 扩容机制(Amazon Corretto version 11)
ArrayList 扩容机制 Amazon Corretto version 11 触发方式为 boolean add(E e); public boolean add(E e) { modCount++; //当前elementData 被修改的次数 多线程修改时抛出异常 add(e, elementData, size);// 重载方法 e 为要添加的元素 elementData为当前数组 size为数组大小 return true; } priv
2021-05-04 22:50:00
274
原创 通信改变内存 通过内存通信
通信改变内存 通过内存通信 1. 通过内存通信 1.1 这里要了解一下并发(假设大家都懂Java|C++) 1.1.1 在传统的编程语言中,并发的通信都是通过内存的改变而通信 举个例子 我现在有两个线程执行一个for循环,目的是在List中添加10个数据 主线程 添加3个 剩下7个由Thread1 和 main(主线程) 共同完成 参考下列代码: 当内存中list的数据长度到达3的时候,通知另一个线程 这个就是通过内存通信了 List<int> list = new A
2020-09-19 00:05:16
261
原创 golang 函数为什么能返回局部变量
golang 函数为什么能返回局部变量 1. 代码 //定义变量返回一个指针int func stackframe1() *int{ var testVarable int = 10 return &testVarable } //golang 编译器会自己决定这个变量存放于栈还是堆,编译器会自己做逃逸分析 //如果这个变量作用范围没有超出当前函数 则会存放于栈中 否则存放于堆中 ...
2020-09-09 21:53:14
578
原创 Spring Boot 自动装配原理 未判断具体注册
1.套娃的起点 1.1 @SpringBootApplication 被SpringBootApplication所标注的就是SpringBoot应用(主配置类) 1.2 @SpringBootApplication 代码 (注解) @Target(ElementType.TYPE) //元注解 指定当前自定义注解可标注的位置 @Retention(RetentionPolicy.RUNTIME) //元注解 指定当前自定义注解可以运行的环境 @Documented //元注解 注解可生成在DOC文档
2020-08-26 17:35:00
266
原创 SpringBoot 的多环境配置
1.引言 1.1 为什么需要多环境配置 开发时和测试以及上线的配置大概率都不会一样 所有我们要配置多个环境提供选择 2.配置 2.1 应该怎么配 2.1.1 使用多个properties实现多环境配置 这里就以Tomcat端口设置来进行演示 三行代码代表三个不同文件 测试 application-test server.port=8081 开发 application-dev server.port=8082 线上 application-run server.
2020-08-26 12:11:17
185
原创 使用JSR303校验报错 Failed to load ApplicationContext
报错代码 java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132) at org.springframework.test.context.s..
2020-08-26 10:15:49
342
原创 yml之松散绑定
先看代码java @Component @ConfigurationProperties(value = "dog") public class Dog { private String firstName; //注意这个属性名字 private Integer age; } yml dog: first-name: dahuang age: 4 //输出: Dog{firstName='dahuang', age=4} 可以看到 yml 定义的属性名为first-..
2020-08-25 22:07:41
680
原创 简单了解SpringBoot
1.Spring Boot 1. 什么是Spring Boot 简化版Spring开发的一个框架 整个Spring技术栈整合 J2EE开发的一站式解决方案 2. 什么是微服务 微服务是一种架构风格 一个应用是一个小型服务 运行在各自的服务器上,通过Http方式进行互通 每一个功能元素最终都是一个可独立升级的软件单元 1. 一种程序架构的风格 2. 就是把一个单独的应用程序开发为一套小服务,每个小服务运行在自己的进程中,并使用轻量级机制通信(Http) 3. 把服务围绕业务能力来构建,并通过
2020-08-25 21:48:06
209
原创 SpringBoot主启动器 简单了解
@SpringBootApplication 被这个注解标注的类是一个SpringBoot的应用(主配置类) SpringBoot 就应该运行这个类的main方法来启动SpringBoot的应用 @SpringBootApplication public class HelloworldApplication { public static void main(String[] args) { SpringApplication.run(HelloworldApplicati..
2020-08-25 21:45:41
344
原创 SpringBoot配置文件和yml简单了解
1.1.SpringBoot 使用一个全局的配置文件,配置文件名是固定的 application.properties application.yml 1.2 作用 修改SpringBoot自动配置的默认值 SpringBoot在底层使用AutoConfigurationImprotSelector 自动配置并注册 通过全局配置文件可以修改这些配置 1.3 YAML YAML (YAML Ain’t Markup language) YAML (YAML isn’t Markup la
2020-08-25 21:44:20
210
原创 YMAL如何注入属性
首先我们定义两个java类 人 宠物 public class Person{ @Component @ConfigurationProperties(prefix = "person") public class Person { private String name; private Integer age; private Boolean happy; private Date birth; private Map<String,Objec.
2020-08-25 21:38:57
226
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1