
搞定Spring
文章平均质量分 91
SpringCloud知识点梳理,整合应用,增强扩展,工作中用到的SpringCloud特性
randy.lou
你若盛开,清风自来
展开
-
Spring Cache的使用
Spring提供了EhCache和Caffeine的默认实现,如果使用没有默认实现的Cache,可以通过自定义CacheManager来实现@Bean。原创 2025-01-15 21:25:14 · 995 阅读 · 0 评论 -
SpringBoot: Eureka入门
服务提供者在启动的时候会将自己注册到服务注册中心(zookeeper、consul等实现),服务消费者从注册中心拿到服务提供者的IP,在客户端做负载均衡,直接连接服务提供者的IP,相较于反向代理的方案好处是服务A和服务B是直接调用,避免了一次中间转发。最简单的方法是让服务A配置服务B的所有节点的IP,在服务A内部做负载均衡调用服务B的不同节点。我们先来看看Eureka的使用。我们需要将服务B的节点配置为upstream,定义nginx的server,服务A通过nginx调用服务B,我们看看下面的核心配置。原创 2024-06-29 20:00:18 · 1515 阅读 · 0 评论 -
SpringBoot: 启动流程和类装载
前面我们学过Spring定制了自己的可执行jar,将真正执行时需要的类和依赖放到BOOT-INF/classes、BOOT-INF/lib来,为了能够识别这些为止的源文件,Spring定制了自己类加载器,本节我们来讲解这个类加载器。原创 2024-06-09 22:26:46 · 1771 阅读 · 1 评论 -
SpringBoot: 可执行jar的特殊逻辑
这一篇我们来看看Java代码怎么操作zip文件(jar文件),然后SpringBoot的特殊处理,文章分为2部分。原创 2024-06-08 16:12:44 · 1334 阅读 · 1 评论 -
SpringBoot: 使用GraalVM编译native应用
曾今Go语言里让我最艳羡的两个特性,一个是Goroutine,一个是native编译。Java 21的虚线程实现了类似Goroutine的能力。Spring Boot 3.x开始提供了GraalVM的支持,现在Spring Boot也能打包成native文件了。这一篇文章的目标是用一个案例讲解如何将Spring Boot应用打包成native文件。原创 2024-06-05 12:23:42 · 2128 阅读 · 1 评论 -
SpringBoot:手动创建应用
Spring提供了在线的Spring Initialzr在线创建Spring Boot项目,为了更好的理解Spring Boot项目,这里我们选择手动创建。原创 2024-06-02 17:28:02 · 1289 阅读 · 1 评论 -
Java Web这一路走来
大部分Java应用都是Web或网络应用,MVC框架在Java框架中有着举足轻重的地位,一开始的Web应用并不现在这样子的,一步一步走来,每一步都经历了无数的血和泪的教训,以史为镜可以知兴替。原创 2024-04-07 11:47:02 · 936 阅读 · 0 评论 -
Spring AOP从入门到精通
ProxyFactoryBean已经基本可以使用了,只是每一个Bean要做代理时都需要手工配置一个ProxyFactoryBean,使用起来还是略显繁琐。Spring提供了AbstractAutoProxyCreator来完成AOP代理的自动创建。这里我们以BeanNameAutoProxyCreator为例,看看AutoProxyCreator是如何使用,它是怎么工作的。原创 2023-12-07 22:40:08 · 1883 阅读 · 0 评论 -
Spring中Bean的生命周期
在实例化前,修改BeanDefinition中的配置中,比如替换占位符。这类对象以PropertyPlaceholderConfigurer为代表,PropertyPlaceholderConfigurer间接继承了BeanFactoryPostProcessor,核心逻辑都在doProcessProperties中,这里的BeanDefinitionVisitor的作用就是使用valueResolver将BeanDefinition中的占位符替换为配置文件中的值。原创 2023-12-02 21:44:47 · 1000 阅读 · 0 评论 -
如何自定义spring-boot-starter
交互式输入groupId、artificatId、version,生成Maven工程后用IDEA打开。原创 2023-11-26 21:32:48 · 516 阅读 · 0 评论