一杯甜酒
金融科技领域技术 & 云基础设施 & 云原生微服务 & 云原生时代标准交付 & PAAS 技术研发 & Kubernetes & 项目与技术管理
展开
-
Spring Boot 学习总结(34)—— spring-boot-starter-xxx 和 xxx-spring-boot-starter 区别?
Spring Starter 是 Spring Boot 提供的一种便捷方式,帮助开发者快速集成和配置 Spring 应用中所需的依赖。每个 Starter 都是一个预配置的依赖集,可以自动配置应用的一部分或特定功能。这些 Starter 旨在消除手动编写大量样板代码和配置的需求。原创 2024-07-16 11:03:51 · 1877 阅读 · 0 评论 -
Spring Boot 学习总结(33)—— Spring Boot 3 的声明式 HTTP 调用
HttpExchange 类似于 @RequestMapping,可以将之放在类上,起到一个请求窄化的作用,也可以放在方法上,放在方法上我们可以通过 method 属性来指定具体的请求方法,这个也跟 @RequestMapping 类似:@HttpExchange(value = "/server",method = "GET")。由于我们前面提供的 ToDoService 是一个接口,所以我们还需要提供一个该接口的实现类,当然这个配置完全是套路化模版化的,这块就没啥好说了。原创 2023-02-06 17:00:56 · 1221 阅读 · 0 评论 -
Spring Boot 学习总结(32)—— Spring Boot 3.0 正式发布
Spring Boot 3.0 正式发布了:同时发布更新的还有 2.7.x 和 2.6.x 两条版本线,Spring Boot 是我见过的发版最守时的技术框架之一。Spring Boot 3.0 这是一个重大的主版本更新,距离上一代的 Spring Boot 2.0 的发布,Spring Boot 3.0 也是的 Spring Boot 正式版本。原创 2022-11-29 10:43:43 · 460 阅读 · 0 评论 -
Spring Boot 学习总结(31)—— Spring Native 主要知识点总结
Spring Native 为使用 GraalVM 原生镜像编译器编译 Spring 应用为本地可执行文件提供支持。与 Java 虚拟机相比,原生镜像可以在许多场景下降低工作负载,包括微服务,函数式服务,非常适合容器和 Kubernetes。使用原生镜像有明显优势,如快速启动,提高峰值性能以及降低内存消耗。GraalVM 项目也有一些缺点和权衡,希望随着时间的推移有所改进。构建本地映像是一个繁重的过程,比常规应用程序要慢,预热后的运行时优化也更少。最后,比起 JVM 很多场景下还不成熟。原创 2022-11-09 14:44:48 · 1440 阅读 · 0 评论 -
Spring Boot学习总结(30)—— Spring Native 初体验
前言Spring Native 是 Spring 提供的、制作 native image 的技术方案。Spring官方博客于 2021 年 03 月 11 日宣布 Spring Native 的 beta 版本发布,借助 Spring Native 可以将 spring 应用与 GraalVM 集成到 native image 中;native image 是 GraalVM 的一项技术,会将 java 应用的字节码编译成可执行文件,还会与 JDK 的本地库做静态链接,运行应用时无需 Java 虚拟机.原创 2022-01-12 12:11:44 · 1275 阅读 · 0 评论 -
Spring Boot学习总结(29)—— Spring Boot 2.6 新特性
Spring Boot 2.6.0:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.0</version><type>pom</type></dependency>...原创 2021-12-02 19:43:50 · 380 阅读 · 0 评论 -
Spring Boot学习总结(28)—— springboot连接postgresql 指定模式Schema
springboot 连接 postgresql 指定模式Schema一般的连接方式,我们创建数据库之后,在public 的Schema(模式)下建表,这时使用连接方式jdbc:postgresql://localhost:5432/postgresql1、在这种连接方式下,默认连接使用的是postgresql数据库的public 模式2、在业务场景中有时允许多个用户使用一个数据库并且不会互相干扰。这时需要在使用同一个数据库新建其他模式进行连接。这时在springboot的数据源jdbc配置时注意原创 2021-07-28 09:36:25 · 7893 阅读 · 2 评论 -
Spring Boot学习总结(27)—— Spring Boot中两个数据库迁移工具Liquibase和Flyway的比较
当您需要使用Java创建Web应用程序或API时,可以使用RESTful,SOAP或GraphQL。无论您是查看同步HTTP,异步还是反应式,队列中的消息或来自Kafka的事件,都很难超越Spring生态系统。数据库迁移如果您使用的是Spring,则有可能使用诸如Hibernate,Jooq或Ebean之类的持久性技术从数据库中获取数据。功能来去去去发生变化;数据模型也发生变化,当您需要更改数据模型时会发生什么?您运行数据库迁移以添加或删除列或进行其他更改。过去通常是手动进行,有...转载 2021-06-18 15:08:44 · 1508 阅读 · 0 评论 -
Spring Boot学习总结(26)—— Spring Boot 容器启动详解
一、容器启动spring boot 一般是指定容器启动 main 方法,然后以命令行方式启动Jar包,如:@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}这里核心关注2个东西:@SpringBootApplication注解、Sp原创 2021-06-16 15:01:36 · 698 阅读 · 0 评论 -
Spring Boot学习总结(25)——Spring Boot 资源初始化加载总结
一、CommandLineRunner和ApplicationRunner我们只要实现这两个中的任何一个接口便可以完成我们的资源初始化任务,CommandLineRunner 和 ApplicationRunner 的加载是在容器完全启动之前。这两者的区别是:CommandLineRunner的run方法参数是 String...args,直接传入字符串;ApplicationRunner的参数是ApplicationArguments,对参数进行了封装。功能上是一样的。同时也可以使用 @Order..原创 2021-06-16 09:50:07 · 265 阅读 · 0 评论 -
Spring Boot学习总结(24)——Spring Boot 2.5 新特性一览
一、支持 Java 16我只能说 Spring Boot 厉害了,Java 16 都开始支持了(同时兼容 Java 8),毕竟 Java 16 才发布两个多月。新版本任它发,我们都用 8,所以,虽然现在我们还远远用不上 Java 16,但 Spring Boot 能支持上就最好不过,这样对于那些想基于 Java 16 进行学习、开发的 Spring Boot 的同鞋就太好了(反正不是我)。二、支持 Gradle 7Spring Boot Gradle 插件支持 Gradle 7.0.x,并已针对原创 2021-06-08 14:18:46 · 1537 阅读 · 0 评论 -
Spring Boot学习总结(23)——Spring Boot 实践经验总结
1、使用 BOM 维护第三方依赖Spring Boot 项目本身使用和集成了大量的开源项目,它帮助我们维护了这些第三方依赖。但是也有一部分在实际项目使用中并没有包括进来,这就需要我们在项目中自己维护版本。如果在一个大型的项目中,包括了很多未开发模块,那么维护起来就非常的繁琐。怎么办呢?事实上,Spring IO Platform 就是做的这个事情,它本身就是 Spring Boot 的子项目,同时维护了其他第三方开源库。我们可以借鉴 Spring IO Platform 来编写自己的基础项目 platf原创 2020-09-10 10:00:26 · 1744 阅读 · 0 评论 -
Spring Boot学习总结(22)——如何定制自己的 springboot starter 组件呢?
引言我们日常项目中都会用到springboot,只要我们用到springboot,一定会用到各种spring-boot-starter。下面我们通过一个springboot starter 的demo(实现一个简单的通过日志记录方法的执行时间的一个组件)制作过程来总结如何定制自己的springboot starter 组件。一、创建一个Maven工程在使用spring-boot-starter,会发现,有的项目名称是 XX-spring-boot-starter,有的是spring-boot-s原创 2020-08-11 16:58:28 · 373 阅读 · 0 评论 -
Spring Boot学习总结(21)——SpringBoot集成Redis等缓存以注解的方式优雅实现幂等,防千万次重复提交实例代码
前言在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同。按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重复处理。如何保证其幂等性,通常有以下手段:数据库建立唯一性索引,可以保证最终插入数据库的只有一条数据 token机制,每次接口请求前先获取一个token,然后再下次请求的时候在请求的he...原创 2020-04-02 14:44:18 · 2322 阅读 · 0 评论 -
Spring Boot学习总结(20)——提升开发效率之热部署
1、模板热部署 在SpringBoot中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭模版引擎的缓存,如下:Thymeleaf的配置:spring.thymeleaf.cache=false FreeMarker的配置:spring.freemarker.cach...原创 2019-12-17 09:58:24 · 10663 阅读 · 1 评论 -
Spring Boot学习总结(19)——使用Redisson实现分布式锁
一、什么是分布式?要想说什么是分布式,那么首先要知道分布式之前的系统是什么样的架构,之前的架构又存在什么样的问题?单体架构分布式之前就是单体架构,单体架构顾名思义就是将所有的业务功能打包在一个应用中,然后部署在服务器上。如果我们把单体架构比作一个汽车工厂,那么从汽车发动机到汽车上的一个螺丝钉都需要由它来负责完成,如果有一天这家工厂由于自然灾害的原因导致业务量急剧下滑,甚至停止生产,那...原创 2019-12-03 09:41:30 · 5343 阅读 · 0 评论 -
Spring Boot学习总结(18)——Springboot 2.0选择HikariCP作为默认数据库连接池的五大理由
Springboot2默认数据库连接池选择了HikariCP为何选择HikariCP理由一、代码量理由二、口碑理由三、速度理由四、稳定性理由五、可靠性HikariCP为什么这么快优化并精简字节码更好的并发集合类实现使用FastList替代ArrayListHikariCP与Druid相比哪个更好?Springboot2快速上手参考资料Spring Boot 2默认数据库连接池选择了Hikari...转载 2019-09-17 10:10:35 · 2154 阅读 · 1 评论 -
Spring Boot学习总结(17)——Spring Boot常见面试题再总结
分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程前言SpringBoot 以其轻量级、内嵌 Web 容器、一键启动、方便调试等特点被越来越多的微服务实践者所采用。下面汇集了一些常见的面试题,再加以总结和学习。1、什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Sp...原创 2019-05-05 10:02:37 · 797 阅读 · 1 评论 -
Spring Boot学习总结(16)——为什么说Java程序员到了必须掌握Spring boot的时候了?
分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人的博客的访问量大幅增加就可以感受到大家对学习 Spring Boot 的热情,那么在这么多人热衷于学习 Spring Boot 之时,我自己也在思考: Spring Boot 诞生的背景...转载 2019-02-28 14:51:40 · 971 阅读 · 0 评论 -
Spring Boot学习总结(15)——Spring Boot优缺点再总结
一、前言:了解 Spring Boot 必须先说说 Spring 框架!在 Java 后端框架繁荣的今天,Spring 框架无疑是最最火热,也是必不可少的开源框架,更是稳坐 Java 后端框架的龙头老大。用过 Spring 框架的都知道 Spring 能流行是因为它的两把利器:IOC 和 AOP,IOC 可以帮助我们管理对象的依赖关系,极大减少对象的耦合性,而 AOP 的切面编程功能可以更方面...原创 2018-12-27 10:51:36 · 914 阅读 · 1 评论 -
Spring Boot学习总结(14)——Spring Boot常见面试题汇总
1、什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。2、为什么要用 Spring Boot?Spring Boot 优点非常多,如:独立运行 简化配置 自动配置 无代码生成和XML配置 应用监控 ...原创 2018-10-13 14:04:52 · 8267 阅读 · 1 评论 -
Spring Boot学习总结(13)——Spring Boot加载application.properties配置文件顺序规则
SpringApplication会从以下路径加载所有的application.properties文件:1、file:./config/(当前目录下的config文件夹)2、file:./(当前目录)3、classpath:/config/(classpath下的config目录)4、classpath:/(classpath根目录)优先级由上至下。注意:优先级是指属性最后使用的值,而不是...原创 2018-08-22 10:18:45 · 10579 阅读 · 1 评论 -
Spring Boot学习总结(12)——Spring Boot Admin 2.0应用监控示例
Spring Boot Admin 2.0新特性Spring Boot Admin 2.0 变化还是挺多的,具体参考 官网说明,这里列几条主要的:使用Vue.js重写了UI界面,漂亮得不像实力派;直接集成了基于 spring security 的认证,无需引入第三方模块;加入 session endpoint 的监控支持。等等...下面就实际试验来操作感受一下!搭建 Spring Boot...原创 2018-07-18 12:27:11 · 5916 阅读 · 0 评论 -
Spring Boot学习总结(11)——SpringBoot的Starter依赖包及作用
1. spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。2. spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol. 。 3. spring-boot-starter-aop 支持面向方面的编程即AOP,包括spring-a原创 2017-12-20 17:24:35 · 2890 阅读 · 0 评论 -
Spring Boot学习总结(10)——SpringBoot打包成Docker镜像
${project.name}-${project.version} org.springframework.boot spring-boot-maven-plugin io.pumelo.HelloApplication repackage com.原创 2017-11-26 11:34:47 · 2516 阅读 · 0 评论 -
Spring Boot学习总结(9)——SpringBoot集成Ehcache3.x
1、引入依赖包 javax.cache cache-api 1.0.0 org.ehcache ehcache 3.4.02、开启Spring Boot缓存@EnableCaching添加注解后Spring会根据以下顺序扫描缓存提供者进行创建Generic→JCache (JSR-107)→ EhCache 2.x→Hazelcast→Infinispan→Redis →Guava→Simple因原创 2017-11-05 17:14:10 · 5605 阅读 · 0 评论 -
Spring Boot学习总结(8)——SpringBoot Common application properties(application.properties)详解
各种属性可以在您的application.properties/application.yml文件或命令行开关指定。下面提供了常见的Spring启动属性和引用它们的基础类的列表。# ===================================================================# COMMON SPRING BOOT PROPERTIES## T原创 2017-05-05 14:53:28 · 3612 阅读 · 0 评论 -
Spring Boot学习总结(7)——SpringBoot之于Spring优势
Spring在Java EE开发中是实际意义上的标准,但我们在开发Spring的时候可能会遇到以下令人头疼的问题:(1)大量配置文件的定义;(2)与第三方软件整合的技术问题,Spring每个新版本的推出都以减少配置作为自己的主要目标,例如:(a)推出@Component, @Service, @Repository, @Controller等注解在类上声明Bean;(b)推出@Co原创 2017-04-15 09:26:23 · 9105 阅读 · 1 评论 -
Spring Boot学习总结(6)——SpringBoot解决ajax跨域请求问题的配置
ajax是一种创建交互式网页应用的网页开发技术,是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换。而ajax的跨域问题则是请求了其他项目的接口地址,当协议、子域名、主域名、端口号中任意一个不一样的时候,都算不同的域。不同域之间的相互请求,就叫跨域.处理ajax跨域的问题主要从ajax本身和服务器端去考虑,这里主要介绍服务器端应该怎样去解决,ajax本身的话可以考虑JSONP技术原创 2017-03-16 10:51:00 · 2608 阅读 · 0 评论 -
Spring Boot学习总结(5)——SpringBoot Jar应用Linux后台部署执行
SpringBoot:应用日常jar后台启动:nohup java -jar ./owl.jar &直接前台执行:java -jar ./owl.jar如果 Maven 运行过程出现内存溢出,则可以添加下面参数:export JAVA_OPTS=-Xmx1024m -XX:MaxPermSize=128M -Djava.security.egd=file:/dev/./urando原创 2017-03-14 17:42:19 · 8782 阅读 · 0 评论 -
Spring Boot学习总结(4)——使用Springloaded进行热部署
我在开发的时候,总是会及时对自己的程序进行测试,总是频繁的重启web server,容器不烦我们都觉得烦了。dependencys目录下增加:org.springframework.bootspring-boot-devtoolsorg.springframeworkspringloaded1.2.6.RELEASE org.spri原创 2016-10-29 11:18:08 · 5791 阅读 · 0 评论 -
Spring Boot学习总结(3)——SpringBoot魅力所在
使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架,库以及整个生态系统。经过这么长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的生态系统,这也是许多公司采用Java作为主流的语言进行服务器端开发的原因,也是为什么Java一直保持着非常活跃的用户群。然而这个生态系统纷繁复杂,一个非常简单的Java Web应用程序都有可能应用到以原创 2016-10-13 17:37:03 · 4991 阅读 · 0 评论 -
Spring Boot学习总结(2)——Spring Boot整合Jsp
怎么使用jsp上面起了疑问,查阅了多方资料,找到过其他人的博客的描述,也找到了spring在github上的给出的例子,看完后稍微改动后成功整合jsp,于是决定将整合过程记载下来。无论使用的是那种ide,基本在maven的使用上都是相同的,本文使用的是myeclipse,创建maven web工程,pom中依赖如下:[html] view plain c原创 2016-07-06 09:59:32 · 6991 阅读 · 8 评论 -
Spring Boot学习总结(1)——Spring Boot入门
摘要:Spring Boots是为了帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用。从 Spring Boot 项目名称中的 Boot 可以看出来,Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目。它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用。Spring Boot 会选择最适原创 2016-07-06 09:55:41 · 5746 阅读 · 0 评论