<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[postnull的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/postnull</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; postnull]]></copyright><item><title><![CDATA[学透Spring Boot — 018. 优雅支持多种响应格式]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147029102</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147029102</guid><author>postnull</author><pubDate>Sun, 06 Apr 2025 20:31:14 +0800</pubDate><description><![CDATA[本文，我们自己通过内容协商，实现了返回多种格式响应的需求，而且不用改动任何业务代码，只需做少量配置即可。另外，我们也通过引入XML的依赖，实现了Spring Boot对Jackson XML的自动配置。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 017. 处理静态文件]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147028198</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147028198</guid><author>postnull</author><pubDate>Sun, 06 Apr 2025 19:21:18 +0800</pubDate><description><![CDATA[本文我们学习了Spring Boot的静态文件默认路径，还修改了默认路径，最后我们还通过源码，理解了Spring Boot对静态文件的自动配置。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 017. 魔术师—Http消息转换器]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147027200</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147027200</guid><author>postnull</author><pubDate>Sun, 06 Apr 2025 18:29:20 +0800</pubDate><description><![CDATA[本文我们定义了一个新的content type, 构造新的请求体和响应体。希望通过本文，你对Http 消息转换器有更多的了解。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 016. 魔术师 - Spring MVC Conversion Service 类型转换]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147025926</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147025926</guid><author>postnull</author><pubDate>Sun, 06 Apr 2025 16:43:58 +0800</pubDate><description><![CDATA[本文我们通过编写并注册自定义的转换器，实现了请求参数的自动转换。通过这个例子，我们可以很好的了解Spring MVC的类型转换机制。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 015. 自废武功——关闭自动配置]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147024640</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147024640</guid><author>postnull</author><pubDate>Sun, 06 Apr 2025 14:17:14 +0800</pubDate><description><![CDATA[通过这个例子，我们应该可以更进一步地理解Spring Boot对JPA的自动配置。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 014. Spring MVC的自动配置]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147015455</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147015455</guid><author>postnull</author><pubDate>Sun, 06 Apr 2025 00:15:45 +0800</pubDate><description><![CDATA[我们这篇文章，从另一个角度——Spring容器的启动过程，结合SpringBoot提供的注解，理解了Spring Boot的自动配置原理。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 013. Spring Web-Flux 函数式风格的控制器]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147014551</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147014551</guid><author>postnull</author><pubDate>Sat, 05 Apr 2025 20:38:31 +0800</pubDate><description><![CDATA[类似于Controller，只是这里没有HTTP的绑定和路径的映射@Component然后我们定义路由，再路由中绑定HTTP请求和handler@Bean.build();路由通过 RouterFunctions.route() 构建，不再使用注解。请求处理逻辑集中在 Handler 类中，实现更清晰的职责划分。处理方法返回的是 Mono<ServerResponse>，这是 WebFlux 的响应式风格。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 012. 强大的仪表盘 Spring Boot Actuator]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147013383</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147013383</guid><author>postnull</author><pubDate>Sat, 05 Apr 2025 19:01:58 +0800</pubDate><description><![CDATA[使用Spring Boot让我们开发一个Web应用变得非常简单，我们只需要做少量的配置，加一些MVC的代码，就可以对外提供Web服务了。但是这有时候还不够，比如我们有时候想知道应用的状态，是不是可以访问，特别是在部署在Kubernetes的应用，Kubernetes需要获取应用的状态，如果挂了，K8S会自动的重启应用。就这就需要我们的应用提供一个状态检查的接口。大部分人想到的就是自定义一个Controller我们可以当然可以这么做，亲力亲为。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 011. 一篇文章学会Spring Test]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147003258</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147003258</guid><author>postnull</author><pubDate>Sat, 05 Apr 2025 00:52:17 +0800</pubDate><description><![CDATA[前面了解了Spring Test的基本概念，这篇文章我们深入学习SpringTest，已经项目中一般是怎么使用的]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 010. 单元测试和Spring Test]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/147002019</link><guid>https://blog.youkuaiyun.com/postnull/article/details/147002019</guid><author>postnull</author><pubDate>Fri, 04 Apr 2025 21:31:11 +0800</pubDate><description><![CDATA[什么是UT 什么是TDD 什么是Mock框架 为什么要用Spring Test，一篇文章掌握这么概念]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 009. Spring Boot的四种 Http 客户端]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/146998370</link><guid>https://blog.youkuaiyun.com/postnull/article/details/146998370</guid><author>postnull</author><pubDate>Fri, 04 Apr 2025 19:33:54 +0800</pubDate><description><![CDATA[一般场景，我们可以直接用getXXX方法发起get请求，通过postForEntity发起post请求，通过put()方法发起put请求，通过delete发起delete请求。熟悉Spring框架的开发都知道，Spring提供了各种XXXTemplate，使用模板方法模式封装了复杂的底层操作，简化了我们对外部组件的操作和使用。但某些时候我们想更精准的控制client的时候，就需要用到更原始的方法exchange()，它允许我们指定HTTP方法，处理请求头和请求体。它本身也是同步的，不支持异步。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 008. 外部配置文件和目录]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/146889262</link><guid>https://blog.youkuaiyun.com/postnull/article/details/146889262</guid><author>postnull</author><pubDate>Tue, 01 Apr 2025 00:35:31 +0800</pubDate><description><![CDATA[Spring Boot会从多个目录下查找并加载配置。我们今天来学习这几种加载外部应用配置的方式。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 007. 七种配置方式及优先级]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/146780882</link><guid>https://blog.youkuaiyun.com/postnull/article/details/146780882</guid><author>postnull</author><pubDate>Mon, 31 Mar 2025 00:48:46 +0800</pubDate><description><![CDATA[Spring Boot 提供很多种方式来加载配置，本文我们会用Tomcat的端口号作为例子，演示Spring Boot 常见的配置方式。]]></description><category></category></item><item><title><![CDATA[Selenium 自动化 —— 高级交互（click、sendKeys、submit、clear、select）]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/138925310</link><guid>https://blog.youkuaiyun.com/postnull/article/details/138925310</guid><author>postnull</author><pubDate>Wed, 15 May 2024 23:25:25 +0800</pubDate><description><![CDATA[Selenium WebDriver提供了一系列简洁而强大的API，可以通过它们直接操纵页面上的各类元素，从而模拟用户交互行为]]></description><category></category></item><item><title><![CDATA[Selenium 自动化 —— 四种等待（wait）机制]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/138871159</link><guid>https://blog.youkuaiyun.com/postnull/article/details/138871159</guid><author>postnull</author><pubDate>Tue, 14 May 2024 23:33:49 +0800</pubDate><description><![CDATA[本文介绍了4种等待机制（包括默认的），有了这些等待，可以大大的提高我们测试的准确性和稳定性。这几种机制没有哪个最好，我们需要根据实际的情况选择最合适的等待。]]></description><category></category></item><item><title><![CDATA[Selenium 自动化 —— 一篇文章彻底搞懂XPath]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/138731145</link><guid>https://blog.youkuaiyun.com/postnull/article/details/138731145</guid><author>postnull</author><pubDate>Mon, 13 May 2024 00:51:15 +0800</pubDate><description><![CDATA[如何定位一个XML（尤其是HTML）中的一个节点？前文我们学习了Selenium的常用的几种选择器，相比其它几种比较简单的比如id选择器、name选择器等外，最强大也是我们使用最频繁的是xpath选择器。本文，我们就对xpath进行全面的学习。]]></description><category></category></item><item><title><![CDATA[Selenium 自动化 —— 常用的定位器（Locator）]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/138634565</link><guid>https://blog.youkuaiyun.com/postnull/article/details/138634565</guid><author>postnull</author><pubDate>Thu, 09 May 2024 23:03:38 +0800</pubDate><description><![CDATA[定位器（Locator）是识别DOM中一个或多个特定元素的方法。也可以叫选择器Selenium 通过By类，提供了常见的定位器。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 006. 一篇文章彻底搞懂 Spring Boot 的自动配置]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/137570138</link><guid>https://blog.youkuaiyun.com/postnull/article/details/137570138</guid><author>postnull</author><pubDate>Wed, 10 Apr 2024 00:01:07 +0800</pubDate><description><![CDATA[组装电脑不仅仅一堆必要的配件就够了，还需要把把它们组装起来，并做一些初始化或配置，比如安装驱动等等。
幸运的是，Spring Boot 已经帮我们完成了这一点，这就是今天说的Spring Boot 的自动配置机制]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 005. 深入理解 Spring Boot Starter 依赖管理]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/137526124</link><guid>https://blog.youkuaiyun.com/postnull/article/details/137526124</guid><author>postnull</author><pubDate>Tue, 09 Apr 2024 00:20:45 +0800</pubDate><description><![CDATA[使用 Spring Boot Starter，就像我们买电脑时，直接买笔记本电脑或者一体机，用一个词形容就是开箱即用。]]></description><category></category></item><item><title><![CDATA[学透Spring Boot — 004. Spring Boot Starter机制和自动配置机制]]></title><link>https://blog.youkuaiyun.com/postnull/article/details/137358642</link><guid>https://blog.youkuaiyun.com/postnull/article/details/137358642</guid><author>postnull</author><pubDate>Thu, 04 Apr 2024 00:50:12 +0800</pubDate><description><![CDATA[通过手动配置和自动配置两种方式集成 一个框架，我们可以强烈的感受到 Spring Boot的Starter机制和 自动配置机制的强大。]]></description><category></category></item></channel></rss>