2021/01/06   

UML类图举例与PlantUML类图语法

Java  

PS:本文档为个人整理,学艺不精,如有错误,请留言指出。部分内容整理自视频教程: 尚硅谷_图解Java设计模式 示例代码:GitHub:https://github.com/Max-Qiu/demo/tree/main/demo-UML-ClassGitee:https://gitee.com/Max-Qiu/demo/tree/main/demo-UML-Class 安装UML插件idea安装PlantUML插件,idea插件市场:PlantUML integration eclipse安装PlantUML插件,官方教程:Integration with Eclipse PlantUML语法官方文档:类图的语法和功能 基础语法定义类/接口/抽象类/枚举/属性/方法public class Person { private Integer id; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; }

100

 2021/01/15

Java设计模式03:原型模式

Java  

情景介绍有1只羊,克隆出10只羊 传统方式 实体 /** * 羊 实体 */ @Getter @Setter @ToString @NoArgsConstructor @AllArgsConstructor public class Sheep { private Integer age; private String color; } 这里用Lombok代替get/set/toString/无参/有参。 PS:不要用@Data注解,这个注解会重写hashCode()方法 public static void main(String[] args) { // 普通模式克隆 Sheep sheep1 = new Sheep(1, "白色"); Sheep sheep2 = new Sheep(sheep1.getAge(), sheep1.getColor()); Sheep sheep3 = new Sheep(sheep1.getAge(), sheep1.getColor()); System.out.

000

 2021/01/14

Java设计模式02:工厂模式

Java  

尚硅谷的工厂模式讲的有点复杂,所以本文代码与推荐阅读的代码类似 推荐阅读: 漫画:设计模式之 “工厂模式”漫画:什么是 “抽象工厂模式” ? 情景介绍一家披萨商店,售卖不同口味的披萨 实体: /** * 披萨 接口 */ public interface IPizza { /** * 每种披萨实现自己的制作方式 */ void make(); } /** * 奶酪披萨 */ public class CheesePizza implements IPizza { @Override public void make() { System.out.println("制作奶酪披萨"); } } /** * 小龙虾披萨 */ public class LobsterPizza implements IPizza { @Override public void make() { System.out.println("制作小龙虾披萨")

000

 2021/01/12

Java设计模式01:单例模式

Java  

推荐阅读:漫画:什么是单例模式?(整合版) 简介采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。 1. 饿汉式(静态常量)class Singleton { // 1. 构造器私有化, 外部能new private Singleton() {} // 2. 本类内部创建对象实例 private static final Singleton INSTANCE = new Singleton(); // 3. 提供一个公有的静态方法,返回实例对象 public static Singleton getInstance() { return INSTANCE; } } public static void main(String[] args) { Singleton instance1 = Singleton.getInstance(); Singleton instance2 = Singleton.getInstance();

000

 2021/01/12

Java设计模式00:简介

Java  

本系列文档整理自视频教程: 尚硅谷_图解Java设计模式 示例代码:GitHub:https://github.com/Max-Qiu/demo/tree/main/demo-DesignPatternGitee:https://gitee.com/Max-Qiu/demo/tree/main/demo-DesignPattern 推荐阅读:漫画:什么是 “设计模式” ? 概述 设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式(Design Pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式的本质提高软件的维护性,通用性和扩展性,并降低软件的复杂度 设计模式分离设计模式分为三种类型,共23种(常用) 注:不同的书籍上对分类和名称略有差别 创建型模式这一类设计模式的目的是用于创建对象。 单例模式工厂模式(工厂方法模式/抽象工厂模式)原型模式建造者模式 结构型模式这一类设计模式的目的是优化不同类、对象、接口之间的结构关系。 适配器模式桥接模式装饰模式组合模

000

 2021/01/10

七种常用设计原则

Java  

本文档整理自视频教程: 尚硅谷_图解Java设计模式 示例代码:GitHub:https://github.com/Max-Qiu/demo/tree/main/demo-DesignPrincipleGitee:https://gitee.com/Max-Qiu/demo/tree/main/demo-DesignPrinciple 设计原则核心思想 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。针对接口编程,而不是针对实现编程。为了交互对象之间的松耦合设计而努力 单一职责原则 Single Responsibility Principle 一个类应该只负责一项职责。 如类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1、A2。 问题示例 /** * 交通工具类 */ class Vehicle { /** * 职责:运行 */ public void run(String vehicle) { System.out.prin

000

 2020/12/20

MybatisPlus 3.4.1 示例代码(含 SpringBoot 2.4.1)

Java  SpringBoot  Mybatis  

Soft Version SpringBoot 2.4.1 MybatisPlus 3.4.1 MySQL 5.7.32 示例代码:GitHub:https://github.com/Max-Qiu/demo/tree/main/demo-SpringBoot-MybatisPlusGitee:https://gitee.com/Max-Qiu/demo/tree/main/demo-SpringBoot-MybatisPlus PS:写的不好,更多示例参见官方 官方示例代码:GitHub:https://github.com/baomidou/mybatis-plus-samplesGitee:https://gitee.com/baomidou/mybatis-plus-samples pom 依赖核心依赖<!-- SpringBoot相关其他依赖略 --> <!-- Lombok 如果实体使用Lombok,则需要添加 --> <dependency> <groupId>org.projectlombok</groupI

1500

 2020/12/04

SpringBoot 2.4.0 整合 Elasticsearch 7.9.3

Java  SpringBoot  Elasticsearch  

官方教程:Reference Documentation 版本对应关系 Spring Boot Spring Data Elasticsearch Elasticsearch 2.1.18.RELEASE 3.1.21.RELEASE 6.4.3 2.2.11.RELEASE 3.2.11.RELEASE 6.8.13 2.3.6.RELEASE 4.0.5.RELEASE 7.6.2 2.4.0 4.1.1 7.9.3 本文以Spring Boot 2.4.0为例本文不介绍Reactive模式的相关代码 示例代码:GitHub:https://github.com/Max-Qiu/demo/tree/main/demo-SpringBoot-ElasticsearchGitee:https://gitee.com/Max-Qiu/demo/tree/main/demo-SpringBoot-Elasticsearch 准备pom.xml<!--核心依赖--> <dependency> <groupId>org.springframework

1200

 2020/12/03

docker常用镜像:Elasticsearch

Docker  Elasticsearch  

官方教程:Install Elasticsearch with DockerCentOS7环境教程:CentOS7安装Elasticsearch7.9.3SpringBoot整合示例:SpringBoot2.4.0 整合 SpringDataElasticsearch4.1 操作 Elasticsearch 7.9.3 镜像拉取# docker官网拉取 docker pull elasticsearch:7.9.3 因为Spring Boot 2.4.0对应的Spring Data Elasticsearch 4.1对应的Elasticsearch的版本为7.9.3,所以本文以此版本为例 单节点快速使用# 启动 docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.9.3 浏览器访问:http://[ip]:9200 PS:此处启动后容器留着,后面会用到 生产环境使用检查 生产环境使用时,需要注意如下设置

000

 2020/12/02

CentOS7安装Elasticsearch7.9.3

Linux  Elasticsearch  

官方教程:Install Elasticsearch from archive on Linux or MacOSDocker环境教程:docker常用镜像:ElasticsearchSpringBoot整合示例:SpringBoot2.4.0 整合 SpringDataElasticsearch4.1 操作 Elasticsearch 7.9.3 下载Elasticsearch 最新版下载地址:https://www.elastic.co/cn/downloads/elasticsearch历史版本下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 打开历史版本下载地址,点击7.9.3版本后面的Download,点击LINUX X86_64下载即可 为啥不用rpm包?因为rpm包安装好之后文件散落在不同的文件夹内,虽然官方详细介绍了各个文件夹在哪以及干嘛用的。 rpm包教程:Install Elasticsearch with RPM 因为Spring Boot 2.4.0对应的Spring Dat

3201

L A B E L