![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
csdn_20210509
本人是个小小程序员,此博客一是为了激励自己学习,二是为了记录自己的学习历程,以便及时回顾相关知识。
展开
-
阿里云视频点播VOD
依赖<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</version></dependency><dependency> <groupId>com.aliyun</groupId>原创 2021-07-13 23:44:34 · 261 阅读 · 0 评论 -
阿里云对象存储OSS
依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>3.10.2</version> </dependency>属性配置spring: cloud: alibaba: access-key: xx原创 2021-07-13 23:34:37 · 377 阅读 · 0 评论 -
Mybatis-Plus配置自动更新时间
配置代码@Componentpublic class CustomMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("createTime", new Date(), metaObject); this.setFieldValByName("upda转载 2021-07-13 23:14:37 · 1165 阅读 · 0 评论 -
SpringBoot配置Swagger
添加依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-sw原创 2021-07-13 23:10:06 · 99 阅读 · 0 评论 -
Mysql实现主从复制(环境搭建)
下载mysql镜像docker pull mysql:8.0.25创建Master实例并启动docker run -p 3306:3306 \--name mysql-master --restart always \-v /usr/local/mysql/master/log:/var/log/mysql \-v /usr/local/mysql/master/data:/var/lib/mysql \-v /usr/local/mysql/master/conf:/etc/mysql \原创 2021-06-29 23:14:08 · 94 阅读 · 0 评论 -
分布式缓存配置(SpringCache)
@Configuration@EnableCaching@EnableConfigurationProperties(CacheProperties.class)public class RedisCahceConfig { @Bean RedisCacheConfiguration redisCacheConfiguration(CacheProperties cacheProperties) { RedisCacheConfiguration config = Re原创 2021-06-27 18:52:55 · 300 阅读 · 0 评论 -
线程异步编排并行(CompletableFuture)
美图两个任务组合(一)任务一和任务二都处理完成之后,才能处理任务三runAfterBoth组合两个future,不需要获取future的结果,只需要两个future处理完成后,处理该任务,无返回结果CompletableFuture<Void> runAfterBoth(CompletionStage<?> other, Runnable action)CompletableFuture<Void> runAfterBothAsync(Completion原创 2021-06-27 13:32:11 · 568 阅读 · 1 评论 -
线程异步编排串行(CompletableFuture)
美图创建异步对象CompletableFuture提供了四个静态方法来创建一个异步操作无返回值不需要指定线程池,使用默认线程池CompletableFuture<Void> runAsync(Runnable runnable);需要指定线程池,使用指定线程池CompletableFuture<Void> runAsync(Runnable runnable, Executor executor)有返回不需要指定线程池,使用默认线程池Comple原创 2021-06-27 12:41:56 · 366 阅读 · 3 评论 -
线程的简单使用
美图如何创建线程继承Thread实现Runnable接口实现Callable接口+FutureTask(可以拿到返回结果,可以处理异常)线程池区别方式一和方式二:主进程无法获取线程的运算结果。方式三:主进程可以获取线程的运算结果,但是不利于控制服务器中的线程资源。会导致服务器资源耗尽。方式四:通过线程池性能稳定,也可以获取执行结果,并捕获异常。但是,在业务复杂情况下,一个异步调用可能会依赖于另一个异步调用的执行结果。示例public class ThreadDemo { p原创 2021-06-27 10:15:26 · 63 阅读 · 0 评论 -
分布式缓存(SpringCache)
简介Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化开发;Cache接口为缓存的组件规范定义,包含缓存的各种操作集合;Cache接口下Spring提供了各种XxxCache的实现;如RedisCache,EhCacheCache,ConcurrentMapCache等;每次调用需要缓存功能的方法是,Spri原创 2021-06-26 20:27:57 · 347 阅读 · 2 评论 -
网关配置全局跨域请求(CorsWebFilter)
配置类@Configurationpublic class CorsConfig { @Bean public CorsWebFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.addAllowedMethod("*"); config.addAllowedOrigin("*"); config.addAllowed转载 2021-06-24 23:46:28 · 1686 阅读 · 2 评论 -
分布式网关(GateWay)
创建网关微服务添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId></dependency>添加配置创建gateway-test.yaml配置,指定端口,注册空间、分组server: port: 88spring: c原创 2021-06-24 23:30:21 · 1255 阅读 · 0 评论 -
配置中心(Nacos)
添加依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency>配置在配置中心创建product命名空间在product命名空间下创建配置文件添加bootstrap.properties文件spring原创 2021-06-20 18:38:13 · 81 阅读 · 0 评论 -
远程调用(OpenFeign)
描述微服务之间通过OpenFeign进行远程调用,接下来创建两个微服务,进行远程调用。实现1.创建两个SpringBoot项目作为微服务,并且都注册到注册中心1.1创建product微服务,并添加一个产品接口@RestControllerpublic class ProductController { @GetMapping("product") public String product(){ return "product"; }}1.2创建原创 2021-06-19 18:43:05 · 249 阅读 · 0 评论 -
服务注册与发现(Nacos)
安装Nacos去github下载Nacos简单配置单机模式set MODE="standalone"集群模式set MODE="cluster"配置数据库在这里插入代码片由于所有的的微服务都要注册到注册中心,所有将依赖添加到依赖管理服务中。<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-原创 2021-06-19 17:52:49 · 252 阅读 · 0 评论 -
微服务项目中,如何做到依赖管理?
描述所有的微服务都是一个独立的服务,多个微服务之间如何做到依赖统一?实现创建一个独立的项目,专门用来做依赖管理,所有的微服务继承此项目即可。创建项目通过idea创建一个原创 2021-06-16 23:49:36 · 1425 阅读 · 0 评论 -
结构型模式(桥接模式)
桥接模式作用:优点:桥接模式桥接模式是将抽象部分与他的实现部分分离,使它们都可以独立的变化。作用:一个类中存在两个独立变化的维度,且这两个维度都需要进行扩展。优点:使用灵活,扩展性强。1.创建一个品牌接口public interface Brand { void info();}2.两个品牌实现类public class Apple implements Brand { @Override public void info() { Syst.原创 2021-06-14 11:55:23 · 79 阅读 · 1 评论 -
结构型模式(代理模式)
代理模式静态代理动态代理JDK动态代理cglib动态代理代理模式对现有业务增强功能下面以添加日志功能为例静态代理现有接口和实现类public interface IUserService { void save(); void delete();}public class UserService implements IUserService { @Override public void save() { System.out.pri.原创 2021-06-13 16:01:54 · 99 阅读 · 1 评论 -
创建型模式(建造者模式)
建造者模式作用优点特点实现1.创建产品类2.抽象的建造者具体建造者创建指挥者客户端使用建造者模式是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。作用在用户不知道对象建造过程和细节的情况下创建复杂的对象。优点使用建造者模式可以使客户端不必知道产品内部的组成细节。具体的建造者之间是相互独立的,对系统的扩展非常有利。由于具体的建造者是独立的,因此可以对建造过程逐步细化,而不对其他模块产生任何影响特点产品构建的顺序可以随意改变。实现建造者模式通常包括下几个角.原创 2021-06-13 10:06:07 · 87 阅读 · 2 评论 -
创建型模式(工厂模式)
工厂模式简单工厂模式(静态工厂模式)工厂模式作用工厂模式实现了创建者和调用者的分离主要分为:简单工厂模式,工厂方法模式,抽象工厂模式oop七大原则开闭原则:一个软件的实体应当对扩展开放,对修改关闭。依赖倒置原则:要面向接口编程,不要面向实现编程。迪米特法则:只与你的朋友通信,不与“陌生人”通信核心本质实例化对象不使用new,用工厂方法代替。将选择实现类,创建对象统一管理和控制,从而将调用者跟我们的实现类解耦。三种模式简单工厂模式:用来生产同一等级结构中的任意产品(对于增加新的产品.原创 2021-06-10 00:07:42 · 177 阅读 · 1 评论