介绍

  • 利用前面的小模块快速搭建个项目脚手架
  • 如果不用JAP,请引入**starters-jdevelops-boot-web**
  • 主要包含的依赖
    • image.png

      引入依赖

      starters-jdevelops-boot-web

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <!-- 父项目 -->
  6. <parent>
  7. <groupId>cn.jdevelops</groupId>
  8. <artifactId>jdevelops</artifactId>
  9. <version>2.0.2</version>
  10. <relativePath/> <!-- lookup parent from repository -->
  11. </parent>
  12. <groupId>cn.tannn</groupId>
  13. <artifactId>TestWebJPA</artifactId>
  14. <version>0.0.1-SNAPSHOT</version>
  15. <name>TestWebJPA</name>
  16. <description>TestWebJPA</description>
  17. <properties>
  18. <java.version>1.8</java.version>
  19. </properties>
  20. <dependencies>
  21. <dependency>
  22. <groupId>org.springframework.boot</groupId>
  23. <artifactId>spring-boot-starter-web</artifactId>
  24. </dependency>
  25. <!-- web starters -->
  26. <dependency>
  27. <groupId>cn.jdevelops</groupId>
  28. <artifactId>starters-jdevelops-boot-web-jpa</artifactId>
  29. <version>${jdevelops.last.version}</version>
  30. </dependency>
  31. <!-- mysql驱动 -->
  32. <dependency>
  33. <groupId>mysql</groupId>
  34. <artifactId>mysql-connector-java</artifactId>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework.boot</groupId>
  38. <artifactId>spring-boot-starter-test</artifactId>
  39. <scope>test</scope>
  40. </dependency>
  41. </dependencies>
  42. <build>
  43. <plugins>
  44. <plugin>
  45. <groupId>org.springframework.boot</groupId>
  46. <artifactId>spring-boot-maven-plugin</artifactId>
  47. </plugin>
  48. </plugins>
  49. </build>
  50. </project>

取消JWT认证

  1. <!-- web starters -->
  2. <dependency>
  3. <groupId>cn.jdevelops</groupId>
  4. <artifactId>starters-jdevelops-boot-web-jpa</artifactId>
  5. <exclusions>
  6. <exclusion>
  7. <groupId>cn.jdevelops</groupId>
  8. <artifactId>webs-jwt</artifactId>
  9. </exclusion>
  10. </exclusions>
  11. </dependency>

使用

主要是配置了jwt跟swagger

设置swagger扫描包

  1. jdevelops.swagger.base-package=cn.tannn.testwebjpa.controller

设置Jwt放行路径跟密钥

默认有密钥和拦截全部接口

  1. jdevelops:
  2. jwt:
  3. ## 过期时间为一天 (24*60*60*1000) 单位 毫秒 (有默认 一天)
  4. expire-time: 100000
  5. ## 自定义token私钥 (有默认)
  6. token-secret: adsaweadadcxa123
  7. web:
  8. interceptor:
  9. # 默认拦截全部可不写
  10. # add-path-patterns: /**
  11. # 放行接口或者资源地址
  12. exclude-path-patterns: [/letGo,/letGo2]

默认放行资源如下

  1. excludePathPatterns.add("/swagger-resources/**");
  2. excludePathPatterns.add("/webjars/**");
  3. excludePathPatterns.add("/v2/api-docs/**");
  4. excludePathPatterns.add("/v3/api-docs/**");
  5. excludePathPatterns.add("/swagger**/**");
  6. excludePathPatterns.add("/swagger-ui.html/**");
  7. excludePathPatterns.add("/doc.html/**");
  8. excludePathPatterns.add("/user/login/**");

日志

会默认生成一个logs的文件夹

image.png

自定日志相关信息

将日志配置文件复制出来改改 image.png

logging.config=classpath:logback-spring-tlog.xml
image.png

示例项目地址

https://github.com/en-o/Jdevelops-Example/tree/main/TestWebJPA

使用maven archetype 创建

最新版为0.0.6

<_groupId>cn.jdevelops
<_artifactId_>jdevelops-archetype
<_version_>0.0.6 <_repository_>我发布到中央仓库了可不用填_

image.png
image.png
image.png

> package=org.example.atest 必须写( ${groupId}.${artifactId} > databases=db_test (数据库名可选)默认等于 db_databases
> mysqlUrl=127.0.0.1:3306 (数据库连接可选)默认等于 127.0.0.1:3306
> application=AtestApplication (主函数名字可选)默认等于 Application

0.0.4 新增参数

jversion=2.0.4 (jdevelops 的版本) > archetypeCatalog=internal (如果不成功请删除这个属性) > dbPassword=root (数据库密码) > dbUsername=root (数据库账号)

0.0.5(6) 新增参数

> sbaUrl (spring boot admin server 地址 > sbaClientUserName (spring boot admin client账户码 > sbaClientPassword (spring boot admin client 密码 image.png

image.png
image.png

idea中添加不起 Archetype 怎么办

问题处理来源 ps : 2022 版本失效

  1. C:/Users/[你的用户名]/AppData/Local/JetBrains/IntelliJIdea2021.2/Maven/Indices 目录下,创建一个 UserArchetypes.xml
    1. IntelliJIdea2021.2 参考你自己安装的实际版本
  2. UserArchetypes.xml中添加内容如下
    1. <archetypes>
    2. <archetype groupId="cn.jdevelops" artifactId="jdevelops-archetype" version="0.0.4" />
    3. </archetypes>

    maven 命令运行

    😔windows 一定要用 cmd 来执行,下面是需要修改的内容

  1. mvn archetype:generate -DgroupId=cn.jdevelops -DartifactId=build -Dversion=1.0-SNAPSHOT -DarchetypeGroupId=cn.jdevelops -DarchetypeArtifactId=jdevelops-archetype -DarchetypeVersion=0.0.6 -Ddatabases=db_build -DdbUsername=root -Dpackage=cn.jdevelops.build -Dapplication=BuildApplication -DmysqlUrl=127.0.0.1:3306 -Djversion=2.0.5 -DdbPassword=root -DsbaUrl=http://127.0.0.1:8001 -DsbaClientUserName=user -DsbaClientPassword=passowrd