glmapper

glmapper

从程序的世界中全身而退

SpringBoot 系列-自动配置及 starter 机制解析
一家之言,如有任何错误,请批评指出,不胜感激 !也欢迎大家关注我的个人微信公众号,目前已经整理了 SpringBoot/SpringSession/SpringCloud/基础算法/JAVA 等系列文章,同时也会定期的送些小礼物(书或者我自己的书法联系手稿,欢迎一起交流~ 本篇主要来讨论研究两个问题:1、什么自动配置,2、如何编写自动配置 在使用 Spring 作为项目开发框架的过程中,当需要集成某个组件时,通常需要大量的 xml 配置才可以让项目工程 run 起来,下面先以 mybatis 为例,来看下如何使用 mybatis-Spring 模块,需要哪些必不可少的依赖和配置。 使...
SpringBoot 实践-外部化配置优先级问题
本文主要针对 spring.profiles.active、spring.config.location 以及 spring.config.additional-location 的作用机制及优先级问题进行实践对比。 本文案例工程已上传 github 仓库:https://github.com/glmapper/springboot-series-guides/tree/master/guides-properties spring.profiles.active除了 application.properties 文件之外,profile-specific 配置也可以通过以下命名方式...
SpringBoot系列-配置解析
注:本文基于 SpringBoot 2.1.11 版本 说到配置,你能想到的是什么? 在日常的开发和运维过程中,可以说配置都是及其重要的,因为它可能影响到应用的正常启动或者正常运行。相信在之前 Spring xml 时代,很多人都会被一堆 xml 配置折腾的够呛,除此之外,还有像数据库连接配置、缓存配置、注册中心配置、消息配置等等,这些相信大家都不会陌生。 配置对于开发人员或者运维人员来说可以比喻成一把”钥匙“,可以通过这把”钥匙“让我们的程序 run 起来,可以通过这把 ”钥匙“ 开启或者关闭应用程序的某一个功能。那么为什么会需要配置,对于一个应用来说,配置的意义又是什么呢? 配...
SpringBoot 源码解析系列 & SpringBoot 实践系列综述
源码解析系列: SpringBoot 系列-FatJar技术解析 SpringBoot 系列-启动过程解析 SpringBoot 系列-事件机制解析 SpringBoot 系列-Bean 的生命周期与扩展 SpringBoot 系列-日志框架解析 SpringBoot 系列-资源访问解析 SpringBoot 系列-内嵌Web容器解析 SpringBoot 系列-自动配置解析 SpringBoot 系列-外部化配置解析 SpringBoot 系列-Production-ready 解析 实践系列 SpringBoot 实践-集成消息中间件 SpringBoot 实践-集成 Dubb...
git ssh 配置及使用
配置使用 ssh 方式来提交和克隆代码大概可以分为以下几个步骤: 设置 Git 的 user name 和 email:(如果是第一次的话) 检查是否已经有 SSH Key。 生成密钥 添加密钥到 ssh-agent 登陆 github, 添加 ssh 设置 Git 的 user name 和 email1234# 用户名替换成自己的用户名git config --global user.name "glmapper"# 邮箱替换换成自己的邮箱git config --global user.email "glmapper_2018@163.com" 检查是否已经有 SSH Key...
SpringBoot 系列-Bean 的生命周期与扩展
本篇基于 SpringBoot 2.2.2.RELEASE 版本,Spring 各个版本之间多少存在一些差异,不过主流程基本相同;大家在阅读过程中需关注这点。 继续承接上一篇 SpringBoot 系列-启动过程分析,本篇围绕一个 bean 的生命周期,对 bean 进行一些修改和扩展。本篇将涉及到以下主要内容: 阅读之前 BeanDefinition 解析时机和过程 invokeBeanFactoryPostProcessors 执行过程分析 invokeBeanDefinitionRegistryPostProcessors 执行过程分析 BeanFactoryPostP...
SpringBoot 系列-日志详解
Spring Boot 使用 Commons Logging 进行所有内部日志记录,但保留底层日志实现。为 Java Util Logging、Log4J2 和 Logback 提供了默认配置。在每种情况下,loggers 都预先配置为使用 console 输出,并且也提供可选的文件输出。 默认情况下,如果使用 “starters”,则使用 Logback 进行日志记录。还包括适当的 Logback 路由,以确保使用 Java Util 日志记录、Commons 日志记录、Log4J 或 SLF4J 的依赖库都能正常工作。 下面先来看一个最简单的 SpringBoot demo 工程的日...
SpringBoot 系列-资源访问
原文链接:https://smarterco.de/java-load-file-from-classpath-in-spring-boot/ 简介当我们创建一个 SpringBoot web 应用时,有时候需要从 classpath 去加载一些文件,这里记录下在 war 和 jar 两种不同文件格式下加载文件的解决方案 The ResourceLoader在 Java 中 ,我们可以使用当前线程的 classLoader 去尝试加载文件,但是 Spring Framework 为我们提供了更加优雅的解决方案,例如 ResourceLoader。 使用 ResourceLoader ...
SpringBoot 系列-启动过程分析
个人博客:glmapper更多请关注 glmapper工作室 微信公众号 SpringBoot 作为目前非常流行的微服务框架,它使得构建独立的 Spring 生产级应用变得非常简单,因此受到很多互联网企业的青睐。 最近在写 SOFATracer 集成 Spring Cloud Stream RocketMQ 的过程中,遇到了一些问题,比如:BeanPostProcessor 不生效,如何在 BeanPostProcessor 不生效的情况下去修改一个 Bean 等,这些问题其实都是和 Bean 的生命周期有关系的,当然也和容器启动的过程有关系。SpringBoot 的启动过程对于我来...
SpringBoot 系列-FatJar 启动原理
微信公众号:glmapper工作室掘金专栏:glmapper微 博:疯狂的石头_henu欢迎关注,一起学习、一起分享 之前有写过一篇文章来介绍 JAR 文件和 MENIFEST.MF 文件,详见:聊一聊 JAR 文件和 MANIFEST.MF,在这篇文章中介绍了 JAR 文件的内部结构。本篇将继续延续前面的节奏,来介绍下,在 SpringBoot 中,是如何将一个 FatJar 运行起来的。 FatJar 解压之后的文件目录从 Spring 官网 或者通过 Idea 创建一个新的 SpringBoot 工程,方便起见,建议什么依赖都不加,默认带入的空的 Spring...
avatar
Glmapper@leishu
分享与学习