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的模板引擎解析有关。