【java】速率搭建一个springboot项目

打印 上一主题 下一主题

主题 1031|帖子 1031|积分 3093

使用软件:IDEA,mysql
使用框架:springboot + mybatis-plus + druid
坑点



  • 使用IDEA搭建一个springboot项目的时间,需要考虑一下IDEA版本支持的JDK版本以及maven版本。否则再构建项目,引入pom的时间就会报错。
需要查抄的东西:

  • 查抄使用的JDK
  • 查抄项目设置的maven路径,设置文档以及使用的repo路径。
  • 查抄文本编辑的编码方式
查抄编码方式:

构建过程


  • 新建一个project
  • 修改pom.xml
  • 编写yaml文件
  • 在数据库建表
  • 使用MP直接天生各个包
  • 编写业务代码
spring boot

spring boot 需要导入的pom
parent必须写,然后选择自己所需要的版本,一样寻常去官网看就好了,目前springboot 3 与2差别比较大。
完了下面在property内里自己使用的 JDK版本。
然后最关键需要引入starter-web。这才是真正引入东西。但是不需要写版本。因为maven继续机制,在父类POM内里规定了内里所使用的版本,以是如果在parent声明过版本,子类就只需要写groupId以及artifactId就好了。
  1.     <parent>
  2.         <groupId>org.springframework.boot</groupId>
  3.         <artifactId>spring-boot-starter-parent</artifactId>
  4.         <version>2.7.18</version>
  5.     </parent>
  6.     <properties>
  7.         <java.version>14</java.version>
  8.     </properties>
  9.     <dependency>
  10.         <groupId>org.springframework.boot</groupId>
  11.         <artifactId>spring-boot-starter-web</artifactId>
  12.     </dependency>
复制代码
spring boot 单位测试

首先需要引入的依靠
  1.         <dependency>
  2.         <groupId>org.springframework.boot</groupId>
  3.         <artifactId>spring-boot-starter-test</artifactId>
  4.         <scope>test</scope>
  5.         </dependency>
  6.   
复制代码
然后在test之下写java类
需要注意的是使用SpringBootTest注解内里需要加上springboot入口的字节码文件
e.g.
  1. @SpringBootTest(classes = Main.class)
  2. public class SimpleTest {
  3.     @Autowired
  4.     private UserMapper userMapper;
  5.     @Test
  6.     public void testSelect() {
  7.         System.out.println(("----- selectAll method test ------"));
  8.         List<User> userList = userMapper.selectList(null);
  9.         Assert.isTrue(5 == userList.size(), "");
  10.         userList.forEach(System.out::println);
  11.     }
  12. }
复制代码
mysql毗连 + druid


  • 引入pom
  • 编写yaml
pom.xml
  1.                 <dependency>
  2.             <groupId>com.alibaba</groupId>
  3.             <artifactId>druid-spring-boot-starter</artifactId>
  4.             <version>1.1.20</version>
  5.         </dependency>
  6. <!--        # mysql-->
  7.         <dependency>
  8.             <groupId>mysql</groupId>
  9.             <artifactId>mysql-connector-java</artifactId>
  10.             <version>8.0.11</version>
  11.         </dependency>
  12.                 <!--lombok-->
  13.         <dependency>
  14.             <groupId>org.projectlombok</groupId>
  15.             <artifactId>lombok</artifactId>
  16.             <version>1.18.28</version>
  17.             <scope>provided</scope>
  18.         </dependency>
复制代码
appication.yaml
  1. spring:
  2.   application:
  3.     name: gamble-web                        # web名称,后面spring cloud所使用的区分服务的名称
  4.   datasource:
  5.     type: com.alibaba.druid.pool.DruidDataSource
  6.     driver-class-name: com.mysql.cj.jdbc.Driver
  7.     url: jdbc:mysql://localhost:3306/db2024?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
  8.     username: root
  9.     password: root
复制代码
如果使用mysql5的话,pom与yaml配置如下
  1. # mysql8.0---JDBC四件套
  2. jdbc.driverClass = com.mysql.cj.jdbc.Driver
  3. jdbc.url= jdbc:mysql://localhost:3306/db2024?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
  4. jdbc.user = root
  5. jdbc.password =123456
  6. # Maven的POM
  7. <dependency>
  8.     <groupId>mysql</groupId>
  9.     <artifactId>mysql-connector-java</artifactId>
  10.     <version>8.0.11</version>
  11. </dependency>
复制代码
mybatis-plus

然后举行数据库举行建表,建完表之后,直接用MP主动天生代码就行。
pom.xml
  1. <!--        mybatis-plus-->
  2.         <dependency>
  3.             <groupId>com.baomidou</groupId>
  4.             <artifactId>mybatis-plus-boot-starter</artifactId>
  5.             <version>3.5.6</version>
  6.         </dependency>
  7. <!--生成器-->
  8.         <dependency>
  9.             <groupId>com.baomidou</groupId>
  10.             <artifactId>mybatis-plus-generator</artifactId>
  11.             <version>3.5.6</version>
  12.         </dependency>
  13. <!--        生成引擎-->
  14.         <dependency>
  15.             <groupId>org.apache.velocity</groupId>
  16.             <artifactId>velocity-engine-core</artifactId>
  17.             <version>2.3</version>
  18.         </dependency>
  19.         <dependency>
  20.             <groupId>org.freemarker</groupId>
  21.             <artifactId>freemarker</artifactId>
  22.             <version>2.3.31</version>
  23.         </dependency>
复制代码
编写CodeGenerator类与主启动类在同等位置.
内里的url username password将上面yaml配置毗连数据库的保持同等就行。
运行一下就能够得到controller service mapper了。
后面编写业务就行了。
  1. public class CodeGenerator {
  2.     public static void main(String[] args) {
  3.         FastAutoGenerator.create("url",
  4.                 "username", "password")
  5.                 .globalConfig(builder -> builder
  6.                         .author("abanban")
  7.                         .outputDir(Paths.get(System.getProperty("user.dir")) + "/src/main/java")
  8.                         .commentDate("yyyy-MM-dd")
  9.                 )
  10.                 .packageConfig(builder -> builder
  11.                         .parent("com.abanban.gamble")
  12.                         .entity("entity")
  13.                         .mapper("mapper")
  14.                         .service("service")
  15.                         .serviceImpl("service.impl")
  16.                         .xml("mapper.xml")
  17.                 )
  18.                 .strategyConfig(builder -> builder
  19.                         .entityBuilder()
  20.                         .enableLombok()
  21.                 )
  22.                 .templateEngine(new FreemarkerTemplateEngine())
  23.                 .execute();
  24.     }
  25. }
复制代码
总结

pom.xml
  1.     <!--
  2.     注意:打包到Linux服务器上运行时,必须打成jar包,不要war包,因为里面有Tomcat等,会冲突
  3.     <packaging>jar</packaging>
  4.     -->
  5. <!--    <packaging>war</packaging>-->
  6.     <parent>
  7.         <groupId>org.springframework.boot</groupId>
  8.         <artifactId>spring-boot-starter-parent</artifactId>
  9.         <version>2.7.18</version>
  10.     </parent>
  11.     <properties>
  12.         <java.version>14</java.version>
  13.     </properties>
  14.     <dependencies>
  15.         <dependency>
  16.             <groupId>org.springframework.boot</groupId>
  17.             <artifactId>spring-boot-starter-web</artifactId>
  18.         </dependency>
  19.         <dependency>
  20.         <groupId>org.springframework.boot</groupId>
  21.         <artifactId>spring-boot-starter-test</artifactId>
  22.         <scope>test</scope>
  23.         </dependency>
  24. <!--        mybatis-plus-->
  25.         <dependency>
  26.             <groupId>com.baomidou</groupId>
  27.             <artifactId>mybatis-plus-boot-starter</artifactId>
  28.             <version>3.5.6</version>
  29.         </dependency>
  30. <!--        <dependency>-->
  31. <!--            <groupId>com.baomidou</groupId>-->
  32. <!--            <artifactId>mybatis-plus</artifactId>-->
  33. <!--            <version>3.5.6</version>-->
  34. <!--        </dependency>-->
  35.         <dependency>
  36.             <groupId>com.alibaba</groupId>
  37.             <artifactId>druid-spring-boot-starter</artifactId>
  38.             <version>1.1.20</version>
  39.         </dependency>
  40. <!--        # Maven的POM-->
  41.         <dependency>
  42.             <groupId>mysql</groupId>
  43.             <artifactId>mysql-connector-java</artifactId>
  44.             <version>8.0.11</version>
  45.         </dependency>
  46.         <!--lombok-->
  47.         <dependency>
  48.             <groupId>org.projectlombok</groupId>
  49.             <artifactId>lombok</artifactId>
  50.             <version>1.18.28</version>
  51.             <scope>provided</scope>
  52.         </dependency>
  53. <!--生成器-->
  54.         <dependency>
  55.             <groupId>com.baomidou</groupId>
  56.             <artifactId>mybatis-plus-generator</artifactId>
  57.             <version>3.5.6</version>
  58.         </dependency>
  59. <!--        生成引擎-->
  60.         <dependency>
  61.             <groupId>org.apache.velocity</groupId>
  62.             <artifactId>velocity-engine-core</artifactId>
  63.             <version>2.3</version>
  64.         </dependency>
  65.         <dependency>
  66.             <groupId>org.freemarker</groupId>
  67.             <artifactId>freemarker</artifactId>
  68.             <version>2.3.31</version>
  69.         </dependency>
  70. <!--        <dependency>-->
  71. <!--            <groupId>org.springframework.boot</groupId>-->
  72. <!--            <artifactId>spring-boot-starter</artifactId>-->
  73. <!--        </dependency>-->
  74. <!--        <dependency>-->
  75. <!--            <groupId>org.springframework.boot</groupId>-->
  76. <!--            <artifactId>spring-boot-starter-test</artifactId>-->
  77. <!--            <scope>test</scope>-->
  78. <!--        </dependency>-->
  79. <!--        <dependency>-->
  80. <!--            <groupId>org.springframework.boot</groupId>-->
  81. <!--            <artifactId>spring-boot-starter-web</artifactId>-->
  82. <!--            <scope>compile</scope>-->
  83. <!--        </dependency>-->
  84. <!--        <dependency>-->
  85. <!--            <groupId>com.baomidou</groupId>-->
  86. <!--            <artifactId>mybatis-plus-boot-starter</artifactId>-->
  87. <!--            <version>3.4.2</version>-->
  88. <!--        </dependency>-->
  89. <!--        <dependency>-->
  90. <!--            <groupId>org.projectlombok</groupId>-->
  91. <!--            <artifactId>lombok</artifactId>-->
  92. <!--            <version>1.18.20</version>-->
  93. <!--        </dependency>-->
  94. <!--        <dependency>-->
  95. <!--            <groupId>com.alibaba</groupId>-->
  96. <!--            <artifactId>fastjson</artifactId>-->
  97. <!--            <version>1.2.76</version>-->
  98. <!--        </dependency>-->
  99. <!--        <dependency>-->
  100. <!--            <groupId>commons-lang</groupId>-->
  101. <!--            <artifactId>commons-lang</artifactId>-->
  102. <!--            <version>2.6</version>-->
  103. <!--        </dependency>-->
  104. <!--        <dependency>-->
  105. <!--            <groupId>mysql</groupId>-->
  106. <!--            <artifactId>mysql-connector-java</artifactId>-->
  107. <!--            <scope>runtime</scope>-->
  108. <!--        </dependency>-->
  109. <!--        <dependency>-->
  110. <!--            <groupId>com.alibaba</groupId>-->
  111. <!--            <artifactId>druid-spring-boot-starter</artifactId>-->
  112. <!--            <version>1.1.23</version>-->
  113. <!--        </dependency>-->
  114. <!--        &lt;!&ndash; 邮件服务 &ndash;&gt;-->
  115. <!--        <dependency>-->
  116. <!--            <groupId>org.springframework.boot</groupId>-->
  117. <!--            <artifactId>spring-boot-starter-mail</artifactId>-->
  118. <!--        </dependency>-->
  119. <!--        &lt;!&ndash; Thymeleaf 模版,用于发送模版邮件 &ndash;&gt;-->
  120. <!--        <dependency>-->
  121. <!--            <groupId>org.springframework.boot</groupId>-->
  122. <!--            <artifactId>spring-boot-starter-thymeleaf</artifactId>-->
  123. <!--        </dependency>-->
  124.     </dependencies>
  125. <!--    <build>-->
  126. <!--        <plugins>-->
  127. <!--            <plugin>-->
  128. <!--                <groupId>org.springframework.boot</groupId>-->
  129. <!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
  130. <!--                <version>2.4.5</version>-->
  131. <!--            </plugin>-->
  132. <!--        </plugins>-->
  133. <!--    </build>-->
  134.         <!-- 最后打包成jar包需要使用的spring插件-->
  135.     <build>
  136.         <plugins>
  137.             <plugin>
  138.                 <groupId>org.springframework.boot</groupId>
  139.                 <artifactId>spring-boot-maven-plugin</artifactId>
  140.             </plugin>
  141.         </plugins>
  142.     </build>
  143. </project>
复制代码
yaml
  1. server:
  2.   port: 8080
  3. # ==========applicationName + druid-mysql8 driver===================
  4. spring:
  5.   application:
  6.     name: gamble-web
  7.   datasource:
  8.     type: com.alibaba.druid.pool.DruidDataSource
  9.     driver-class-name: com.mysql.cj.jdbc.Driver
  10.     url: jdbc:mysql://localhost:3306/db2024?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
  11.     username: root
  12.     password: root
复制代码
部署

刚才pom最下面插件写了之后,直接运行一下mvn package命令就可以打包成一个jar包了。
然后丢到服务器上面java -jar 运行一下就可以了

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

道家人

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表