Springboot集成各种插件过程(一)--springboot自身

1、原始Springboot环境

外网环境下利用idea开发工具

要准备好maven 与jdk环境,这里用的maven360与jdk1.8

 没有该功能可自行百度进行相关插件的安装,可参考如下链接

https://blog.csdn.net/weixin_37717108/article/details/86755465

安装插件后点击next后可能会出现问题看具体出错原因,1网络不好(多试几次),2.需要配置代理(自行百度)

 根据自己的项目名称进行如下设置

 看自己的需要选择相应的依赖及springboot的版本

关于相关依赖的作用可自行百度每个插件的作用,选择自己需要的。

 看好项目名及项目位置,一般不需要修改

 完成后在idea中打开项目

选择File->Settings->搜索Maven

配好settings.xml路径找好自己的仓库,改好maven版本

下面附上setting阿里云仓库的配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
 3           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4           xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
 5 <localRepository>C:\SwordInstall\myselfLocalMavenRepo</localRepository>
 6   <pluginGroups>   
 7   </pluginGroups>
 8   <proxies>
 9   </proxies> 
10   <servers> 
11   </servers>
12   <mirrors>     
13         <mirror>
14              <id>alimaven</id>
15              <name>aliyun maven</name>
16              <url>
17                   http://central.maven.org/maven2/
18              </url>
19              <mirrorOf>central</mirrorOf>        
20         </mirror>    
21   </mirrors>
22   <profiles>
23   </profiles> 
24 </settings>

File下的项目结构里相关项目和modules要改成相应的jdk8编译

然后点击maven的刷新,下载相关依赖,等下载完就好了,网络不好可以多下几次。

2.上面已经自动集成了SpringMVC 与thymeleaf模板(这是啥自行百度)

初始生成的环境如下红框所标注,其余文件为我自己添加的

 下面是POM文件,可以看出已经集成了spring(springboot)、jdbc、thymeleaf(只支持html的解析,不能解析jsp,解析jsp还需要引入tomcat-embed-jasper与jstl,在后面补充)、springmvc、mybatis、devtools(热部署工具)、mysql、oracle、springboot配置文件解析(即解析yml文件)、lombok(注解工具,通过注解简化model的书写)

 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     <parent>
 6         <groupId>org.springframework.boot</groupId>
 7         <artifactId>spring-boot-starter-parent</artifactId>
 8         <version>2.2.2.RELEASE</version>
 9         <relativePath/> <!-- lookup parent from repository -->
10     </parent>
11     <!-- 下面依次是组织、项目、版本、生成的包名、描述、打成什么包web应用为war包   -->
12     <groupId>com.open</groupId>
13     <artifactId>sword</artifactId>
14     <version>0.0.1-SNAPSHOT</version>
15     <name>sword</name>
16     <description>Demo project for Spring Boot</description>
17     <packaging>war</packaging>
18     <!-- jdk版本   -->
19     <properties>
20         <java.version>1.8</java.version>
21     </properties>
22     <!-- 各种依赖的插件   -->
23     <dependencies>
24         <dependency>
25             <groupId>org.springframework.boot</groupId>
26             <artifactId>spring-boot-starter-jdbc</artifactId>
27         </dependency>
28         <dependency>
29             <groupId>org.springframework.boot</groupId>
30             <artifactId>spring-boot-starter-thymeleaf</artifactId>
31         </dependency>
32         <dependency>
33             <groupId>org.springframework.boot</groupId>
34             <artifactId>spring-boot-starter-web</artifactId>
35         </dependency>
36         <dependency>
37             <groupId>org.mybatis.spring.boot</groupId>
38             <artifactId>mybatis-spring-boot-starter</artifactId>
39             <version>2.1.1</version>
40         </dependency>
41 
42         <dependency>
43             <groupId>org.springframework.boot</groupId>
44             <artifactId>spring-boot-devtools</artifactId>
45             <scope>runtime</scope>
46             <optional>true</optional>
47         </dependency>
48         <dependency>
49             <groupId>com.oracle.ojdbc</groupId>
50             <artifactId>ojdbc8</artifactId>
51             <scope>runtime</scope>
52         </dependency>
53         <dependency>
54             <groupId>mysql</groupId>
55             <artifactId>mysql-connector-java</artifactId>
56             <scope>runtime</scope>
57         </dependency>
58         <dependency>
59             <groupId>org.springframework.boot</groupId>
60             <artifactId>spring-boot-configuration-processor</artifactId>
61             <optional>true</optional>
62         </dependency>
63         <dependency>
64             <groupId>org.projectlombok</groupId>
65             <artifactId>lombok</artifactId>
66             <optional>true</optional>
67         </dependency>
68         <dependency>
69             <groupId>org.springframework.boot</groupId>
70             <artifactId>spring-boot-starter-test</artifactId>
71             <scope>test</scope>
72             <exclusions>
73                 <exclusion>
74                     <groupId>org.junit.vintage</groupId>
75                     <artifactId>junit-vintage-engine</artifactId>
76                 </exclusion>
77             </exclusions>
78         </dependency>
79     </dependencies>
80 
81     <build>
82         <plugins>
83             <plugin>
84                 <groupId>org.springframework.boot</groupId>
85                 <artifactId>spring-boot-maven-plugin</artifactId>
86             </plugin>
87         </plugins>
88     </build>
89 
90 </project>

3.了解以上可以做个demo进行一下简单测试,不想做测试可以继续看第二篇进行其他插件的集成

遇到的坑之一:

JRebel版本过旧不能与spring版本相匹配
1 2020-01-07 16:04:55 JRebel: ERROR Class 'org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry' could not be processed by org.zeroturnaround.javarebel.integration.spring.cbp.MappingRegistryCBP@sun.misc.Launcher$AppClassLoader@18

遇到的坑之二:忘记配置数据库连接了,因为是个springweb集成了mybatis 所以不配置会报错

配置文件入下application.yml

############################## 项目启动信息配置 开始  ##############################
server:
  port: 8080
#  tomcat:
#    port-header: HEAD,PUT,DELETE,OPTIONS,TRACE,COPY,SEARCH,PROPFIND
#    min-spare-threads: 20
#    max-threads: 500
#  connection-timeout: 10000
############################## 项目启动信息配置 结束  ##############################

############################## 数据库配置 开始  ###################################
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/signin?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
    username: root
    password: 123
    driver-class-name: com.mysql.cj.jdbc.Driver
############################## 数据库配置 结束 ####################################

此时项目目录如下:该注意的如图红色标记

 启动项目后访问localhost:8080/hello 设置断点去调试可知走了该方法,返回index.html页面,为什么不用在return后加index文件后缀.html,与thymeleaf的模板引擎解析有关。

猜你喜欢

转载自www.cnblogs.com/Sword007/p/12162197.html