尚硅谷尚庭公寓-03
ThreadLocal
介绍
ThreadLocal是JDK提供的一个线程内部的数据存储工具类,它提供了一些方法,用于在当前线程中存储数据,并且每个线程都可以独立地访问自己的数据。
课程:黑马设计模式精讲
“设计模式”最初并不是出现在软件设计中,而是被用于建筑领域的设计中。
1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)
在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。
1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)等 4 位作者合作出版了《设计模式:可复用面向对象软件的基础》一书,在此书中收录了 23 个设计模式,这是设计模式领域里程碑的事件,导致了软件设计模式的突破。这 4 位作者在软件开发领域里也以他们的“四人组”(Gang of Four,GoF)著称。
配置Minio Client
引入Minio Maven依赖
在common模块的pom.xml
文件增加如下内容:
1 | <dependency> |
配置Minio相关参数
在application.yml
中配置Minio的endpoint
、accessKey
、secretKey
、bucketName
等参数
1 | minio: |
注意:上述<hostname>
、<port>
等信息需根据实际情况进行修改。
在common模块中创建com.atguigu.lease.common.minio.MinioProperties
,内容如下
1 | @ConfigurationProperties(prefix = "minio") |
在common模块中创建com.atguigu.lease.common.minio.MinioConfiguration
,内容如下
1 | @Configuration |
可以在构造函数、Setter 方法或字段注入中使用 @Autowired 注解,Spring 会解析并注入依赖。
构造函数注入:
1 | class Car { |
Setter 注入:
1 | class Car { |
字段注入:
1 | class Car { |
@Autowired 有一个名为 required 的 boolean 参数,默认值为 true。当 Spring 找不到合适的 Bean 进行注入时,它会控制 Spring 的行为。当值为 true 时,会抛出异常,反之则不会。
注意,如果使用构造函数注入,所有构造函数参数都是 必须的 。
从 Spring 4.3 开始,除非声明了至少两个构造函数,否则不需要用 @Autowired 明确注解构造函数。
Reids定义
Redis(Remote Dictionary Server)是一个基于内存的键值对存储系统,常用作缓存服务。由于Reids将数据都保存在内存中,因此其读写性能十分惊人,同时,为保证数据的可靠性,Redis会将数据备份到硬盘上,用于故障发生时的数据恢复。
Redis特点
Redis应用场景
Redis最为常见的一个应用场景就是用作缓存,缓存可以显著提升访问速度,降低数据库压力。
下面介绍MinIO中的几个核心概念,这些概念在所有的对象存储服务中也都是通用的。
对象(Object)
对象是实际的数据单元,例如我们上传的一个图片。
存储桶(Bucket)
存储桶是用于组织对象的命名空间,类似于文件夹。每个存储桶可以包含多个对象。
端点(Endpoint)
端点是MinIO服务器的网络地址,用于访问存储桶和对象,例如 http://192.168.10.101:9000
注意:
9000
为MinIO的API的默认端口,前边配置的 9001
以为管理页面端口。
Access Key 和 Secret Key
Access Key是用于标识和验证访问者身份的唯一标识符,相当于用户名。
Secret Key是与Access Key关联的密码,用于验证访问者的身份。
MyBatis-Plus(简称 MP)是一个MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。其突出的特性如下:
下面通过一个简单案例快速熟悉MyBatis Plus的基本使用
记录在实战项目尚庭公寓中的重要知识点或者遇到的坑