<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[caychen的博客]]></title><description><![CDATA[业精于勤而荒于嬉，行成于思而毁于随。]]></description><link>https://blog.youkuaiyun.com/caychen</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; caychen]]></copyright><item><title><![CDATA[【Spring Cloud】OpenFeign之自动配置类FeignAutoConfiguration]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/107998811</link><guid>https://blog.youkuaiyun.com/caychen/article/details/107998811</guid><author>caychen</author><pubDate>Fri, 14 Aug 2020 10:18:29 +0800</pubDate><description><![CDATA[等所有的 AnnotationConfigApplicationContext 子上下文 和  ApplicationContext 父上下文创建完成后，就进行 Feign 的自动化配置，
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(Feign.class)
@EnableConfigurationProperties({ FeignClientProperties.class,
		FeignHttpClientProperti]]></description><category></category></item><item><title><![CDATA[【Spring Cloud】OpenFeign之扫描FeignClient类信息]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/107998614</link><guid>https://blog.youkuaiyun.com/caychen/article/details/107998614</guid><author>caychen</author><pubDate>Fri, 14 Aug 2020 10:13:44 +0800</pubDate><description><![CDATA[FeignClientRegistrar 做的第二件事是扫描指定包下的类文件，注册 @FeignClient 注解修饰的接口类信息：
//FeignClientsRegistrar#registerDefaultConfiguration
public void registerFeignClients(AnnotationMetadata metadata,
			BeanDefinitionRegistry registry) {
    //生成自定义的ClassPathScanningCandida]]></description><category></category></item><item><title><![CDATA[【Spring Cloud】OpenFeign之@EnableFeignClients（1）注册默认配置]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/107717311</link><guid>https://blog.youkuaiyun.com/caychen/article/details/107717311</guid><author>caychen</author><pubDate>Fri, 31 Jul 2020 17:05:35 +0800</pubDate><description><![CDATA[四、RESTful客户端 - OpenFeign
OpenFeign 是 Spring Cloud 在原有 Netflix 的 Feign 的基础之上改造成自己的远程调用组件。
OpenFeign 是个声明式 RESTful 网络请求客户端，使得编写 Web 服务客户端更加方便和快捷，只需要使用 OpenFeign 提供的注解修饰定义网络请求的接口类，就可以使用该接口的实例发送 RESTful 风格的网络请求 。OpenFeign 还可以集成 Ribbon 和 Hystrix 来提供负载均衡和网络断路器的功]]></description><category></category></item><item><title><![CDATA[【Spring Cloud】Eureka端点&集群&安全认证]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/107638054</link><guid>https://blog.youkuaiyun.com/caychen/article/details/107638054</guid><author>caychen</author><pubDate>Tue, 28 Jul 2020 15:56:23 +0800</pubDate><description><![CDATA[3.8、Rest端点
常用的 Eureka REST API 除了 /eureka/apps 之外，还有如下接口：




操作
http 动作
接口
描述




注册新的应用实例
POST
/eureka/apps/{APP_NAME}
可以输入 json 或者 xml 格式的 body，成功返回 204


注销实例
DELETE
/eureka/apps/{APP_NAME}/{INSTANCEINFO_ID}
成功返回 200


发送心跳
PUT
/eureka/apps/{APP_NAME}/]]></description><category></category></item><item><title><![CDATA[【SpringCloud系列】服务注册与发现 - Eureka Client源码分析（3）]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/107589441</link><guid>https://blog.youkuaiyun.com/caychen/article/details/107589441</guid><author>caychen</author><pubDate>Sun, 26 Jul 2020 09:52:28 +0800</pubDate><description><![CDATA[上一节讲述了 Eureka Server 的原理及部分源码，今天咱们来看看 Eureka Client 端的源码，功能点类似 Eureka Server。
3.7、Eureka Client 源码分析
Eureka Client 通过 Starter 的方式引入依赖， SpringBoot 将会为项目使用以下的自动配置类：

EurekaClientAutoConfiguration：Eureka Client 自动配置类，负责 Eureka Client 中关键Bean的配置和初始化；
RibbonEur]]></description><category></category></item><item><title><![CDATA[【SpringCloud系列】服务注册与发现 - Eureka Server源码分析（2）]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/107589099</link><guid>https://blog.youkuaiyun.com/caychen/article/details/107589099</guid><author>caychen</author><pubDate>Sun, 26 Jul 2020 09:16:56 +0800</pubDate><description><![CDATA[3.6、Eureka Server 源码分析
上一篇文章简单介绍了 Eureka 的一些概念，今天咱们来看看其原理和源码，首先先看 Eureka Server 的原理。
3.6.1、Eureka Server启动原理
本文章使用的 Eureka Server 依赖为:
&lt;dependency&gt;
	&lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
	&lt;artifactId&gt;spring-cloud-starter-netf]]></description><category></category></item><item><title><![CDATA[【SpringCloud系列】服务注册与发现 - Eureka（1）]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/107567375</link><guid>https://blog.youkuaiyun.com/caychen/article/details/107567375</guid><author>caychen</author><pubDate>Fri, 24 Jul 2020 18:38:35 +0800</pubDate><description><![CDATA[服务注册与发现 - Eureka
在不使用服务注册的前提下，如果在微服务中需要服务间调用，只能使用 RestTemplate 指定主机ip及端口号port才能进行通讯。但是这样的硬编码编写提供方地址的方式会出现如下问题：**（1）如果服务提供者的网络地址发生了变化，会影响消费者；（2）在生产环境中，每个微服务都会有多个实例来实现容灾和负载均衡，而使用硬编码的形式无法适应这种需求。**由于以上两个问题，所以出现了服务发现组件。

服务提供者、服务消费者、服务发现组件关系:

各个微服务在启动时，将自己的网络地]]></description><category></category></item><item><title><![CDATA[【SpringCloud系列】Spring Cloud - 简介]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/107567271</link><guid>https://blog.youkuaiyun.com/caychen/article/details/107567271</guid><author>caychen</author><pubDate>Fri, 24 Jul 2020 18:33:17 +0800</pubDate><description><![CDATA[Spring Cloud - 简介
文章目录Spring Cloud - 简介一、前言1.1 、微服务出现前的单体应用架构1.2、单体应用架构的优缺点1.3、微服务1.4、微服务优点与缺点1.5、微服务设计原则1.6、常见的微服务框架二、SpringCloud2.1、版本说明2.2、SpringCloud组成微信公众号：Java知识集训
一、前言
1.1 、微服务出现前的单体应用架构

一个归档包（可以是JAR、WAR、EAR或其它归档格式）包含所有功能的应用程序，通常称为单体应用。
而架构单体应用的方法论]]></description><category></category></item><item><title><![CDATA[Centos7配置FastDFS]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/84680519</link><guid>https://blog.youkuaiyun.com/caychen/article/details/84680519</guid><author>caychen</author><pubDate>Sun, 02 Dec 2018 01:01:52 +0800</pubDate><description><![CDATA[1、安装gcc（编译时需要）

FastDFS是C语言开发，安装FastDFS需要先将官网下载的源码进行编译，编译依赖gcc环境，如果没有gcc环境，需要安装gcc


yum install -y gcc gcc-c++



2、安装libevent（运行时需求）

 若安装了桌面图形界面，就不需要安装；FastDFS依赖libevent库；


yum -y install libevent...]]></description><category></category></item><item><title><![CDATA[MongoDB连接配置]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/84648909</link><guid>https://blog.youkuaiyun.com/caychen/article/details/84648909</guid><author>caychen</author><pubDate>Fri, 30 Nov 2018 14:07:51 +0800</pubDate><description><![CDATA[MongoDB学习笔记——MongoDB 连接配置

MongoDB连接标准格式：

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

参数说明


			Mongodb://
			
			
			必填的前缀，标识当前字符串为便准链接格式
...]]></description><category></category></item><item><title><![CDATA[【Spring Boot】（33）、SpringBoot事务管理@Transactional注解原理]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/83345921</link><guid>https://blog.youkuaiyun.com/caychen/article/details/83345921</guid><author>caychen</author><pubDate>Wed, 24 Oct 2018 16:18:19 +0800</pubDate><description><![CDATA[1、依赖包
1.1、 SpringBoot中的依赖包
众所周知，在SpringBoot中凡是需要跟数据库打交道的，基本上都要显式或者隐式添加jdbc的依赖：
&amp;amp;amp;lt;dependency&amp;amp;amp;gt;
    &amp;amp;amp;lt;groupId&amp;amp;amp;gt;org.springframework.boot&amp;amp;amp;lt;/groupId&amp;amp;amp;gt;
    &amp;amp;amp;lt;artifa]]></description><category></category></item><item><title><![CDATA[【Spring Boot】（32）、SpringBoot集成AOP]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/83180643</link><guid>https://blog.youkuaiyun.com/caychen/article/details/83180643</guid><author>caychen</author><pubDate>Fri, 19 Oct 2018 12:20:36 +0800</pubDate><description><![CDATA[1、添加pom依赖
&amp;amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;amp;gt;
    &amp;amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;amp;gt;org.springframework.boot&amp;amp;amp;amp;amp;lt;/groupId&amp;amp;amp;amp;amp;gt;
    &amp;amp;amp;amp;amp;lt;artifactId&amp;amp;]]></description><category></category></item><item><title><![CDATA[【Spring注解】3、属性赋值]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/83009845</link><guid>https://blog.youkuaiyun.com/caychen/article/details/83009845</guid><author>caychen</author><pubDate>Thu, 11 Oct 2018 11:51:23 +0800</pubDate><description><![CDATA[1、@Value

配置文件 person.properties:


person.nickName=张三
person.age=20

实体类 Person.java:


@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {

	/**
	 * 使用@Value赋值
	 * 	1、基本数值类型和String
	 ...]]></description><category></category></item><item><title><![CDATA[【Spring注解】2、Bean生命周期]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/83009432</link><guid>https://blog.youkuaiyun.com/caychen/article/details/83009432</guid><author>caychen</author><pubDate>Thu, 11 Oct 2018 11:12:39 +0800</pubDate><description><![CDATA[1、初始化和销毁


	通过@Bean注解的initMethod和destroyMethod属性
	
	
	InitializingBean接口、DisposableBean接口
	
	
	可以使用JSR250：

	
		@PostConstruct：在Bean创建完成并且属性值完成后，执行初始化。
		
		
		@PreDestroy：在容器销毁Bean之前，通知进行清理工作。
		
	
	...]]></description><category></category></item><item><title><![CDATA[【Spring注解】1、Spring组件注册]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/83008897</link><guid>https://blog.youkuaiyun.com/caychen/article/details/83008897</guid><author>caychen</author><pubDate>Thu, 11 Oct 2018 10:50:41 +0800</pubDate><description><![CDATA[1、@Configuration:


指定该注解的类是个配置类，对应之前的配置文件


 

2、@Bean:


指定该方法作为一个Bean组件，它会往容器中注册一个Bean组件；


其中类型为返回值，id默认为方法名；



也可以使用@Bean注解的name属性，来自定义id。



 

 

3、@ComponentScans:


可以配置多个@ComponentScan。


3...]]></description><category></category></item><item><title><![CDATA[【Spring Boot】（31）、使用SpringBoot发送mail邮件]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/82887926</link><guid>https://blog.youkuaiyun.com/caychen/article/details/82887926</guid><author>caychen</author><pubDate>Fri, 28 Sep 2018 17:58:29 +0800</pubDate><description><![CDATA[1、前言

发送邮件应该是网站的必备拓展功能之一，注册验证，忘记密码或者是给用户发送营销信息。正常我们会用JavaMail相关api来写发送邮件的相关代码，但现在springboot提供了一套更简易使用的封装。

 

2、Mail依赖


&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt;
...]]></description><category></category></item><item><title><![CDATA[【Spring Boot】（30）、SpringBoot整合RabbitMQ]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/82752288</link><guid>https://blog.youkuaiyun.com/caychen/article/details/82752288</guid><author>caychen</author><pubDate>Tue, 18 Sep 2018 10:33:56 +0800</pubDate><description><![CDATA[1、安装

1.1、Erlang：

Erlang下载地址，下载后安装即可。

1.2、RabbitMQ安装

RabbitMQ下载地址，下载后安装即可。

注意：Erlang的版本要与RabbitMQ版本需要匹配才行。

RabbitMQ
			Minimum required Erlang/OTP
			Maximum supported Erlang/OTP
		3.7.x
			19.3
...]]></description><category></category></item><item><title><![CDATA[【Spring Boot】（29）、SpringBoot整合Mybatis源码分析]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/82688752</link><guid>https://blog.youkuaiyun.com/caychen/article/details/82688752</guid><author>caychen</author><pubDate>Thu, 13 Sep 2018 15:37:04 +0800</pubDate><description><![CDATA[在【Spring Boot】（23）、Spring Boot整合Mybatis的章节中讲述了SpringBoot整合Mybatis的过程，以及一些配置说明，这节主要讲解一下整合的源码。

废话不多说，直接进入今天的主题。

阅读过我之前写的文章的童靴，肯定知道SpringBoot整合第三方技术的时候，都会有一个xxxAutoConfiguration的自动配置类，咱们来一起找找看。其实在项目整合M...]]></description><category></category></item><item><title><![CDATA[【Spring Boot】（24）、Spring Boot中使用缓存之Spring缓存]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/80464794</link><guid>https://blog.youkuaiyun.com/caychen/article/details/80464794</guid><author>caychen</author><pubDate>Sat, 26 May 2018 20:53:57 +0800</pubDate><description><![CDATA[1、缓存依赖只要添加如下依赖，即可使用缓存功能。&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;spring-boot-starter-cache&amp;lt;/artifactId&amp;gt;
&amp;lt;/dependency&amp;gt;2、缓存注解@Enab...]]></description><category></category></item><item><title><![CDATA[【Spring Boot】（23）、Spring Boot整合Mybatis]]></title><link>https://blog.youkuaiyun.com/caychen/article/details/80463486</link><guid>https://blog.youkuaiyun.com/caychen/article/details/80463486</guid><author>caychen</author><pubDate>Sat, 26 May 2018 17:35:44 +0800</pubDate><description><![CDATA[首先添加mybatis依赖：&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;org.mybatis.spring.boot&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;mybatis-spring-boot-starter&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;1.3.2&amp;lt;/version&amp;gt]]></description><category></category></item></channel></rss>