Mongodbtemlate

MongoDBTemlate 1.单个操作 1.1增加 // 方式一:不支持批量操作,若主键存在则会对当前存在的数据进行修改操作 public void saveIdtfCode(IdtfCodePO idtfCode) { // 保存Object到指定的collection mongoTemplate.save(idtfCode, ParaConstants.IDTF_RECORD_COLLECTION); }...

4 minute read

Cdh安装步骤

CDH安装步骤 2018年5月11日 1.安装前准备 虚拟机配置 主节点 :8G、40G、1个双核处理器;从节点:4G、40G、1个双核处理器 装CentOS 7 注意:装的所有虚拟机的用户名和密码一定要一致,不然会后悔的!!! Master安装MySQL 注意:只在master节点安装MySQL 添加自启动chkconfig mysql on 启动MySQLservice...

6 minute read

跨域

跨域 1.同源策略 同源,就是指两个页面具有相同的协议,主机(也常说域名),端口,三个要素缺一不可 URL1 URL2 说明 是否允许通信 http://www.foo.com/js/a.js http://www.foo.com/js/b.js 协议、域名、端口都相同 允许 http://www.foo.com/js/a.js http://www.foo.com:8888/js/b.js 协议、域名相同,端口不同 不允许...

2 minute read

微服务

微服务设计 一.非传统架构 1.微服务: 根据业务边界由单体系统划分出来一些协同工作的小而自治的独立系统 微服务的理念:高内聚、低耦合、小而自治、独立 高内聚:把相关的行为聚集在一起,把不相关的行为放在别处 低耦合:暴露API,服务之间通过网络调用进行通信,修改一个服务不需要修改另一个服务 小:一个微服务大概在两周内可以完全重写 自治:独立实体可以独立部署 微服务的优势VS单体系统:技术异构、有弹性(服务不可用、功能降级)、易扩展(一服多机)、易部署、易重写(快速替换)、可组合(服务重用) 微服务的挑战:复杂分布式系统、部署、测试、监控等额外工作 2.SOA架构(略) 微服务架构是SOA的一种特定方法 3.其它单体系统分解技术 共享库...

1 minute read

责任链设计模式

责任链设计模式 责任链模式:让一个请求被多个对象处理 优点:请求和处理分开,解耦 缺点:链太长,会有性能问题 请求类:每个请求都有自己的级别 public class Request { //请求的等级 public Level getRequestLevel(){ return null;...

2 minute read

装饰器设计模式

装饰器设计模式 装饰器模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 优点:动态地扩展一个实现类的功能 缺点:多层的装饰是比较复杂的,尽量减少装饰类的数量 抽象构件 public abstract class Component { // 抽象的方法 public abstract void...

2 minute read

Swagger

swagger的安装与使用 1.swagger介绍 Swagger是全球最大的符合OpenAPI规范(OAS)的API开发工具框架,它支持从设计、文档到测试、部署的整个API生命周期的开发。 简而言之,swagger可以帮助程序员自动生成API(在线或离线)文档,支持接口测试等。 swagger生成API、导出文档过程示意图: 2.swagger的使用 这里我们介绍spring boot继承swagger框架 首先在pom.xml文件中添加swagger依赖 <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency>...

4 minute read

策略设计模式

策略设计模式 策略模式:定义一组算法 策略模式和代理模式有什么差别,差别就是策略模式的封装角色和被封装的策略类不用是同一个接口(封装角色(相当于代理角色)没有实现接口) 策略模式和模板模式有什么差别,一个“策略”是一个 整体的(完整的) 算法,算法是可以被整体替换 ;模板方法定义一条线(算法流程),线上的多个点是可以变化的(具体实现在子类中完成) 策略接口 public interface Strategy { public void doSomething();...

1 minute read