<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[姚桑带你学Java与架构]]></title><description><![CDATA[简单不先于复杂，而是在复杂之后]]></description><link>https://blog.youkuaiyun.com/yhp0607</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yhp0607]]></copyright><item><title><![CDATA[02 TOGAF企业架构框架]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/116301557</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/116301557</guid><author>yhp0607</author><pubDate>Fri, 30 Apr 2021 13:22:28 +0800</pubDate><description><![CDATA[1 什么是TOGAF
​	TOGAF是众多企业架构框架之一，TOGAF标准是The Open Group标准之一，企业架构标准，TOGAF为标准、方法论和企业架构专业人士之间的沟通提供一致性保障。
2 为什么选用TOGAF
TOGAF 是通过300多家开放群组架构论坛的会员协同努力发展的，会员包含全球领先的IT客户及厂商，代表了架构发展的最佳实践。使用TOGAF作为架构框架将允许架构
开发的一致性，反映利益相关者的需要，采用最佳实践，并为当前需求以及未来可能的业务需要提供应有的考虑。
架构设计是一个复杂的技]]></description><category></category></item><item><title><![CDATA[企业架构-01企业架构与TOGAF]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/116272298</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/116272298</guid><author>yhp0607</author><pubDate>Thu, 29 Apr 2021 16:45:37 +0800</pubDate><description><![CDATA[企业架构-01企业架构与TOGAF
1 何为企业架构
企业架构（Enterprise Architecture），简称EA。是指对企业事业信息管理系统中具有体系的、普遍性的问题而提供的通用解决方案，更确切的说，是基于业务导向和驱动的架构来理解、分析、设计、构建、集成、扩展、运行和管理信息系统。复杂系统集成的关键，是基于架构（或体系）的集成，而不是基于部件（或组件）的集成。
有效的企业架构对企业的生存和成功具有决定性的作用，是企业通过IT获得竞争优势的不可缺少的手段。
2 企业架构分类
可以分为两大部分：业务]]></description><category></category></item><item><title><![CDATA[码农打工者你做新年规划了吗]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/115351492</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/115351492</guid><author>yhp0607</author><pubDate>Wed, 31 Mar 2021 15:23:14 +0800</pubDate><description><![CDATA[码农打工者你做新年规划了吗？同步自"姚桑带你学Java与架构公众号"
1 为什么要规划？
​	20年终究是不平凡的一年，新冠病毒在肆虐着人类。不过坚强的人类经过了调整、防范后，也正常，有序生存、生活中。

​	在这一年，姚桑也经理了很多，一晃眼已经在IT行业滚打了10+年了。经历了struts2，spirngmvc,springboot,springcloud,k8s,
ServiceMesh等技术变更，也见证了SSM全栈单体，Springboot全栈单体，Spirngboot前后端分离，微服务架构等技术架]]></description><category></category></item><item><title><![CDATA[Websocket实战-消息推送]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/115350916</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/115350916</guid><author>yhp0607</author><pubDate>Wed, 31 Mar 2021 15:10:38 +0800</pubDate><description><![CDATA[一 Websocket简介
1.1 是什么
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455，并由RFC7936补充规范。WebSocket API也被W3C定为标准。
WebSocket使得客户端和服务器之间的数据交换变得更加简单，允许服务端主动向客户端推送数据。在WebSocket API中，浏览器和服务器只需要完成一次握手，两者之间就直接可以创建持久性的连接，并进行双向数据传输。
1.2 出现背景
很多网站为了实现]]></description><category></category></item><item><title><![CDATA[微服务架构-数据字典设计点点滴滴]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/113624408</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/113624408</guid><author>yhp0607</author><pubDate>Thu, 04 Feb 2021 09:19:58 +0800</pubDate><description><![CDATA[一 微服务架构-数据字典设计
1.1 为什么需要数据字典
​	在系统中某些选项是几个特定的值的一个或多个，并且随着还可以动态添加。比如支付方式，配送方式等

​	此时我们应该设计一个数据字典模块，在后台进行管理，然后前台要从后端查询。并且由于我们可能有多个类型，每个类型可能有多个选项。所以，后台数据库表设计就包含数据字典类型或数据字典明细两张表。具体设计如下：


数据字典类字段说明

id 唯一主键。
sn 标识 非常重要，前台就是通过他来查询某一类型的数据字典的。
name  名称，用来显示用的。


]]></description><category></category></item><item><title><![CDATA[二十 Springboot-集成RabbitMq]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112248269</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112248269</guid><author>yhp0607</author><pubDate>Mon, 25 Jan 2021 14:20:39 +0800</pubDate><description><![CDATA[20.1 RabbitMq介绍
20.1.1 是什么
​	MQ全称为Message Queue，即消息队列. 它也是一个队列,遵循FIFO原则 。RabbitMQ是由erlang语言开发，基于AMQP（Advanced Message Queue protoctl 高级消息队列协议）协议实现的消息队列，它是一种应用程序之间的通信方法，消息队列在分布式系统开 发中应用非常广泛。官方地址：http://www.rabbitmq.com/
20.1.2 使用场景


提高系统响应速度
任务异步处理。 将不需要同.]]></description><category></category></item><item><title><![CDATA[一 软件应用架构演进]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/113110253</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/113110253</guid><author>yhp0607</author><pubDate>Mon, 25 Jan 2021 14:16:10 +0800</pubDate><description><![CDATA[一 软件应用架构演进
  随着互联网的发展,使用互联网的人群越来越多,软件应用的体量越来越庞大和复杂，传
统的单体应用可能不足以支撑大数据量以及高并发场景,应用的架构也随之进行演变，从
最开始的单体应用架构到分布式(SOA)架构再到今天比较火的微服务架构，以及服务网
格架构。


1.1 单体架构
1.1.1 简单单体结构
​	单体架构比较初级，典型的三级架构，前端(Web/手机端)+中间业务逻辑层+数据库层。这是一种典型的Java Spring mvc。其架构图如下所示：

​	单体架构的应用比较容易部署]]></description><category></category></item><item><title><![CDATA[十九 Springboot-集成elastic search]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112248158</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112248158</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:39:35 +0800</pubDate><description><![CDATA[19.1 准备elastic search
19.1.1 是什么
​	是一个全文搜索服务器
19.1.2 简单使用
​	以windows为例进行简单使用
19.1.2.1 下载
​	elasticsearch
​	kibana
​    elasticsearch ik分词器

19.1.2.2 安装


安装elasticsearch
直接解压就OK


配置elasticsearch及ik分词器
修改jvm参数

解压拷贝到es plugins下面



安装客户端kibana
​	直接解压就OK


]]></description><category></category></item><item><title><![CDATA[十八 Springboot-集成redis]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112248113</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112248113</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:37:50 +0800</pubDate><description><![CDATA[18.1 准备redis
18.1.1 是什么
​	是一个key-vue的Nosql。
18.1.2  优势


开源免费


数据存储
存放在内存,还支持持久化.-存取速度快，并发能力强,数据安全高


支持value类型更多


支持多个语言客户端


还支持集群(支持高并发,海量数据)


18.1.3 使用场景


​	使用数据访问快特点
缓存


过期时间
短信验证码等


18.1.4 简单使用
​	以windows为例进行简单使用
18.1.4.1 下载
​	https://github.co]]></description><category></category></item><item><title><![CDATA[十七 Springboot-日志支持]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112248075</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112248075</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:37:13 +0800</pubDate><description><![CDATA[17.1 为什么需要日志框架
​	通过日志的方式记录系统运行的过程或错误以便定位问题。
17.2 常见日志框架
17.2.1 设计思想
1、System.out.println("")；将关键数据打印在控制台；去掉？写在一个文件？
2、框架来记录系统的一些运行时信息；日志框架 ；  zhanglogging.jar；
3、高大上的几个功能？异步模式？自动归档？xxxx？  zhanglogging-good.jar？
4、将以前框架卸下来？换上新的框架，重新修改之前相关的API；zhanglogging-p]]></description><category></category></item><item><title><![CDATA[十六 Springboot-配置Druid连接池]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112248035</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112248035</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:36:31 +0800</pubDate><description><![CDATA[16.1 Druid是什么
​	Druid 是阿里巴巴开源的数据库连接池，除了性能比较高以外，Druid 还能能够提供强大的监控和扩展功能。所以在企业中是使用的非常多的。具体特点如下：

​	可以监控数据库访问性能， Druid 内置提供了一个功能强大的StatFilter插件，能够详细统计 SQL 的执行性能，这对于线上分析数据库访问性能有帮助。
数据库密码加密。直接把数据库密码写在配置文件中，这是不好的行为，容易导致安全问题。 DruidDruiver 和 DruidDataSource 都支持 Pas]]></description><category></category></item><item><title><![CDATA[十五 Springboot-配置Spring事务]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112247981</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112247981</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:35:52 +0800</pubDate><description><![CDATA[15.1 Spring事务回顾
15.1.2 原理
​	Spring的事务是使用的是AOP，AOP的底层使用动态代理实现的。
15.1.3 使用


xml
TransationManager：需要在xml中配置一个事务管理器
Advisor：通知
PointCUt:通过切面应用通知.



注解式
TransationManager：需要在xml中配置一个事务管理器
打注解@Transational：在需要配置事务类上面加注解
扫描注解&lt;/tx:annotationDriven&gt;：xml中需要]]></description><category></category></item><item><title><![CDATA[十四.Springboot-MyBatis集成]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112247931</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112247931</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:34:55 +0800</pubDate><description><![CDATA[14.1 步骤分析
1 准备一个Springboot项目
2 pom-引入Mybatis Stater
3 yml配置
4 入口类
5 写代码测试


14.2 实现
14.2.1 准备一个Springboot项目
14.2.2 pom-引入Mybatis Stater
&lt;!-- spring-boot整合mybatis --&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.mybatis.spring.boot&lt;/groupId&gt;
    &l]]></description><category></category></item><item><title><![CDATA[十三 Springboot-spring data jpa]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112247882</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112247882</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:34:09 +0800</pubDate><description><![CDATA[13.1 什么是Springboot spring data jpa
13.1.1 Jpa与Hibernate


Jpa是Java的Orm规范


Hibernate是Jpa的一种实现方式


Jpa优缺点
本质:处理Java对象和关系型数据库表之间的转换，只是对JDBC再次做了一层封装
优点:
1.程序员操作很简单，代码简单 entityManager.persist(employee);	
2.直接面向持久对象操作
3.提供世界级数据缓存(现在几乎所有的ORM框架的缓存都是学的Hibernate)
	]]></description><category></category></item><item><title><![CDATA[十二 . Springboot-Junit test]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112247796</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112247796</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:33:25 +0800</pubDate><description><![CDATA[​	使用了Springboot后，就不能用原来的Spring的测试了，需要使用springboot的测试
12.1 步骤分析
1 准备一个springboot项目
	略过
2 pom导入对应stater
3 写代码测试

12.2 pom.xml
&lt;dependency&gt;
    &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
    &lt;artifactId&gt;spring-boot-starter-test&lt;/ar]]></description><category></category></item><item><title><![CDATA[十一 . Springboot-Jdbc]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112247726</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112247726</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:32:40 +0800</pubDate><description><![CDATA[SpringBoot的数据访问层都是封装在可以直接使用jdbc

11.1 步骤分析
1 准备一个springboot项目
	略过
2 pom导入对应stater
3 application.yml配置
4 入口类
5 写代码测试

11.2 pom.xml
&lt;dependency&gt;
    &lt;groupId&gt;mysql&lt;/groupId&gt;
    &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;
&lt.]]></description><category></category></item><item><title><![CDATA[十 SpringBoot-SpringMvc使用详解]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/112247672</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/112247672</guid><author>yhp0607</author><pubDate>Tue, 05 Jan 2021 17:31:50 +0800</pubDate><description><![CDATA[10.1 @Controller&amp;@RequestMapping&amp;@ResponseBody


@Controller
@Controller 是Spring框架提供的注解。
@Controller标识的类，该类代表控制器类(控制层/表现层)。
这里控制层里面的每个方法，都可以去调用@Service标识的类（业务逻辑层），@Service标识的类中的方法可以继续调用@Resposity标识的接口实现类（Dao层/持久层）。


@RequestMapping
在Spring MVC 中使用]]></description><category></category></item><item><title><![CDATA[九 Springboot-页面模板`Thymeleaf`]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/111588960</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/111588960</guid><author>yhp0607</author><pubDate>Wed, 23 Dec 2020 14:14:22 +0800</pubDate><description><![CDATA[9.1 什么是Thymeleaf
​	开发传统Java WEB工程时，我们可以使用JSP页面模板语言，但是在SpringBoot中已经不推荐使用了。
SpringBoot支持如下页面模板语言Thymeleaf,FreeMarker,Velocity,Groovy,JSP等
其中Thymeleaf是SpringBoot官方所推荐使用的，下面来谈谈Thymeleaf一些常用的语法规则。
9.2 Thymeleaf入门
步骤分析：
1 首先要想让springboot支持Thymeleaf必须先导入对应starte]]></description><category></category></item><item><title><![CDATA[八. Springboot-静态资源]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/111479428</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/111479428</guid><author>yhp0607</author><pubDate>Mon, 21 Dec 2020 17:29:48 +0800</pubDate><description><![CDATA[8.1 原理分析

springboot中,没有web.xml，但是我们需要访问相应的静态资源(html,css,js等)


现在的问题是，咱们的静态资源应该放在哪里？ 我们分析一波源码！



思考:既然是静态资源，肯定是分析mvc的配置与源码！所有MVC相关的配置(视图解析器,上传下载,静态资源等)都在WebMvcAutoConfiguration这个类中


addResourceHandlers：静态资源处理方法解析


@Override
public void addResourceHandl]]></description><category></category></item><item><title><![CDATA[七 Springboot-Proﬁle 多环境支持]]></title><link>https://blog.youkuaiyun.com/yhp0607/article/details/111479029</link><guid>https://blog.youkuaiyun.com/yhp0607/article/details/111479029</guid><author>yhp0607</author><pubDate>Mon, 21 Dec 2020 17:11:16 +0800</pubDate><description><![CDATA[7.1 为什么需要
​	我们开发的代码有可能需要运行在多个环境，比如我们的代码需要开发测试，测试人员测试，上线等环境，而每个环境
是不相同的，所以需要进行不同的配置。

7.2 定义方式
​	定义多个环境整体实现有两种，一种是在一个配置文件配置所有的环境，另一种是多个配置文件中分别配置对应的环境。
7.2.1单文件配置方式
---
server:
  port: 8081
spring:
  profiles: dev  #开发环境
  application:
    name: springbootco]]></description><category></category></item></channel></rss>