做公司网站要那些资料,黑河城乡建设局网站,wordpress简洁响应试,企业为什么要建站DiskMirror-spring-boot-starter 技术
diskMirror 实现了 SpringBoot 的 starter 能够集成到 SpringBoot 中。
DiskMirror 的 starter#xff0c;通过引入此类#xff0c;可以直接实现 diskMirror 在 SpringBoot 中的自动配置#xff0c;接下来我们将使用案例逐步的演示 d…DiskMirror-spring-boot-starter 技术
diskMirror 实现了 SpringBoot 的 starter 能够集成到 SpringBoot 中。
DiskMirror 的 starter通过引入此类可以直接实现 diskMirror 在 SpringBoot 中的自动配置接下来我们将使用案例逐步的演示 diskMirror starter 的使用 需要注意的是此 starter 最适用于 SpringBoot3 版本且也推荐使用 SpringBoot3 版本的自动配置模块!!! diskMirror-starter
DiskMirror 的 starter通过引入此类可以直接image实现 diskMirror 在 SpringBoot 中的自动配置接下来我们将使用案例逐步的演示 diskMirror starter 的使用 需要注意的是此 starter 最适用于 SpringBoot3 版本且也推荐使用 SpringBoot3 版本的自动配置模块!!!
引入 starter
我们可以直接在 maven 中像下面这样配置好 starter在下面我们引入了一些依赖如果需要使用第三方文件系统适配器则可以直接在 maven 中引入如果您不需要第三方文件系统可以不引入 根据您的需求来进行选择如果您不知道需要的库有哪些可以查阅 diskMirror 的主页 dependencies!-- 导入 SpringBoot 项目的 starter 在这里我们使用的示例是 Web starter 您可以根据您的需要修改 starter 类型 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- 导入 DiskMirror 的 starter TODO 一般来说 只需要导入这个和其它的第三方文件系统依赖即可 --dependencygroupIdio.github.BeardedManZhao/groupIdartifactIddiskMirror-spring-boot-starter/artifactIdversion1.0.2/version/dependency!-- 导入 diskMirror 的 库 这是一个可选操作如果您有版本的指定需求可以在这里设置如果没有可以不设置diskMirror starter 会自动配置 --dependencygroupIdio.github.BeardedManZhao/groupIdartifactIddiskMirror/artifactIdversion1.1.2/version/dependency!-- 导入 zhao utils 的库 这是一个工具类被 diskMirror 依赖您可以像上面一样导入 也是一个可选操作需要注意的是在 1.0.0 版本中 此库是必须引入的 --dependencygroupIdio.github.BeardedManZhao/groupIdartifactIdzhao-utils/artifactIdversion1.0.20240121/version/dependency!-- 导入 fastjson2 库 这是一个JSON解析库被 diskMirror 依赖您可以像上面一样导入 也是一个可选操作 --dependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2/artifactIdversion2.0.25/version/dependency
/dependencies开发基本的 SpringBoot3 项目
在这里您可以根据一些简单的示例来了解如何使用 diskMirror 的盘镜 starter。
配置 starter
diskMirror 的 starter 配置文件具有默认数值下面就是默认的配置文件同样您可以按照下面的示例来进行配置文件的修改。
PS 请将 enable-feature 设置为 true!!!
disk-mirror:# 此配置项目代表的就是是否启用 diskMirror 如果设置为 false 则代表不启用diskMirror 的starter 将不会被加载需要您手动设置此参数enable-feature: false# 要使用的盘镜适配器类型 在这里默认数值是本地盘镜适配器具体的适配器 您可以查阅 top.lingyuzhao.diskMirror.core.DiskMirror 类adapter-type: LocalFSAdapter# 要被盘镜管理的目录 用于存储数据的目录 此目录是真实目录root-dir: /DiskMirror# 一般来说 如果对接带第三方文件系统 而非本次文件系统 则此参数则会派上用场其代表的就是第三方文件系统的地址fs-default-fs: hdfs://localhost:8020/# 当处理之后如果处理无错误会返回一个结果状态此数值代表的就是是否正确处理ok-value: ok!!!!# 返回结果的key 返回结果中 结果状态的字段名字res-key: res# 协议前缀默认为http 不同协议前缀有不同的意义用于拼接 urlprotocol-prefix: http://localhost:80/# 参数 可能会派上用场在不同的适配器中有不同的实现params: { }# 用户磁盘配额 每个盘镜空间的磁盘最大空间数值单位是字节user-disk-mirror-space-quota: 134217728# 安全密钥secure-key: # 指定的几个用户的空间对应的容量space-max-size: { }MAIN 启动主类
在这里我们为了演示清晰没有使用复杂架构直接使用了一个启动主类也没有设置其它的控制器。
package com.example.springboot3demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import top.lingyuzhao.diskMirror.conf.Config;
import top.lingyuzhao.diskMirror.core.Adapter;SpringBootApplication
// 使用此扫描器对 top.lingyuzhao.diskMirror.starter 包进行扫描就可以实现自动配置了
ComponentScan(top.lingyuzhao.diskMirror.starter)
public class SpringBoot3DemoApplication {public static void main(String[] args) {// 获取到运行器上下文final var run SpringApplication.run(SpringBoot3DemoApplication.class, args);// 查看一下 diskMirror 是否被加载进来了System.out.println(run.getBean(Adapter.class).getConfig().get(Config.PROTOCOL_PREFIX));}}启动测试
当看到下面这样的日志则代表启动成功了diskMirror 也被成功的集成了进来 . ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/:: Spring Boot :: (v3.2.1)2024-02-13T23:18:29.91408:00 INFO 6016 --- [ main] c.e.s.SpringBoot3DemoApplication : Starting SpringBoot3DemoApplication using Java 17.0.9 with PID 6016 (G:\My_Project\IDEA\SpringBoot3Demo\target\classes started by zhao in G:\My_Project\IDEA\SpringBoot3Demo)
2024-02-13T23:18:29.91808:00 INFO 6016 --- [ main] c.e.s.SpringBoot3DemoApplication : No active profile set, falling back to 1 default profile: default
2024-02-13T23:18:30.25608:00 INFO 6016 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)
2024-02-13T23:18:30.26108:00 INFO 6016 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2024-02-13T23:18:30.26108:00 INFO 6016 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.17]
2024-02-13T23:18:30.28708:00 INFO 6016 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2024-02-13T23:18:30.28808:00 INFO 6016 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 352 ms
2024-02-13T23:18:30.30908:00 INFO 6016 --- [ main] t.l.d.s.c.DiskMirrorAutoConfiguration : load properties class top.lingyuzhao.diskMirror.starter.conf.properties.DiskMirrorProperties
2024-02-13T23:18:30.30908:00 INFO 6016 --- [ main] t.l.d.s.c.DiskMirrorAutoConfiguration : getAdapterType run adapterType:LocalFSAdapter
2024-02-13T23:18:30.31008:00 INFO 6016 --- [ main] t.l.d.s.c.DiskMirrorAutoConfiguration : diskMirror is ok!!!WWWKXXXXNWWNk, ,kkd7 KWWb, ;WWN3.....,lNWWk. KWWb, ;WWNl XWWk. :XXk, oKNNWNKo KWWb, dXXO: ;WWNl 3WWX7 7WWO7 0WWo:,:O0d, KWWb, lNWKb: ;WWNl :WWNl 7WWO7 0WWO,. KWWbbXWKb:. ;WWNl kWW03 7WWO7 lXWWWN0o. KWWNWWW0; ;WWNl lWWNo, 7WWO7 .,7dWWN; KWWOolWWN7 WWNo,..,oXWWKo 7WWO7 .lb: XWNl. KWWb, .KWWk. ;WWWWWWWWWNKOo:. 7WWO7 oNWX0KWWKb: KWWb, bWWX ,,,. ,, ,;777;,. . .,
KWWNWK, ,WWNWWd. ;33:
KWWbWWO. XWXkWWd. ... ... .,, ... ,,. .,,,, ... .,,
KWWodWWd OWNlOWWd. .WWN7 KWW3OWNWl.:WWOlNWNO: 3KWWXXNWWXo. ,WWX3XWNK
KWWo.OWWo oWWb;xWWd. .WWXl 0WWXkl,, ;WWNKb:,,, XWWkl,..,oWWN ,WWNKd7,,
KWWo XWN7 ;WWx3 dWWd. .WWXl 0WWO3 ;WWWl, bWW03 OWWk, ,WWWo
KWWo ,NWK,NW0l dWWd. .WWXl 0WWd, ;WWX3 kWWO: dWMO: ,WWNl
KWWo ;WWkKWXl. dWWd. .WWXl 0WWd. ;WWK7 7WWX7 XWWd; ,WWN3
KWWo lWWWNo, dWWd. .WWXl 0WWd. ;WWK7 oWWX3,.,7XWWk3 ,WWN3
kXXo dXXd: oXXb. .KX0l xXXb. KXO7 .o0XNNNXKkl .KXKl
LocalFSAdapter:1.1.2
2024-02-13T23:18:30.41908:00 INFO 6016 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path
2024-02-13T23:18:30.42308:00 INFO 6016 --- [ main] c.e.s.SpringBoot3DemoApplication : Started SpringBoot3DemoApplication in 0.661 seconds (process running for 0.9)
http://localhost:80/
如何使用 diskMirror 的适配器
通过 starter 获取到的就是 diskMirror 中的适配器对象您可以通过适配器对象实现有效的文件操作具体使用方法请参考 diskMirror 的主页
更新记录
1.0.2
发布时间2024-02-23
针对配置文件的默认数值进行的设定这使得您可能不需要在配置文件中将所有配置项目进行设置变更了适配器Bean 在 SpringBoot 中的Bean 的名字这有助于避免一些命名冲突问题变更的情况为 getAdapter - top.lingyuzhao.diskMirror.core.Adapter 1.0.1
发布时间2024-02-14
增加了 enable-feature 配置项使得您可以通过调整此参数来实现是否要启动 diskMirror 的 starter减少了需要变更 pom.xml 的风险。增加了针对 zhao-utils 库的自动依赖您可以不去声明此库的依赖diskMirror starter 会自动依赖它。
更多 diskMirror starter SpringBoothttps://github.com/BeardedManZhao/diskMirror-spring-boot-starter.gitdiskMirror 后端服务器版本MVChttps://github.com/BeardedManZhao/DiskMirrorBackEnd.gitdiskMirror 后端服务器版本SpringBoothttps://github.com/BeardedManZhao/diskMirror-backEnd-spring-boot.gitdiskMirror Java API 版本https://github.com/BeardedManZhao/DiskMirror.git