和Spring springmvc不同,StringBoot搭建web项目更简单了
tips1:依赖选择页面
Web选择Spring Web
Template Engines选择Thymeleaf(模板引擎若在项目建立之后需要改动,可在application.yml进行配置即可)
SQL选择JDBC API,Mybatis FrameMarker,MySQL Driver
tips2:热部署配置
1.1添加spring-boot-devtools依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
1.2在plugin中配置另外一个属性fork,并且配置为true
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
配置idea:
1.选择File -> Settings -> Compiler命令,勾选Build project automatically
2.使用快捷键Ctrl+Shift+A,在输入框中输入Registry,双击第一个Registry,在打开的界面勾选compiler.automake.allow.when.app.running(可忽略)
3.在Edit Configuratin选项中配置Update classes and resources
贴一下pom.xml的配置。
这个xml中的内容,几乎都是当你new一个项目选择springweb时,idea自动加的,剩下你需要什么用dependency加进去就行
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>SpringBoot-LayuiWeb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>SpringBoot-LayuiWeb</name>
<description>SpringBoot-LayuiWeb</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency><!-- 添加mybatis依赖 -->
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Spring Boot的特色:AutoConfiguration。
- 当我们引入spring-boot-starter-jdbc时,启动时会自动扫描所有的XxxAutoConfiguration:
- DataSourceAutoConfiguration:自动创建一个DataSource,其中配置项从application.yml的spring.datasource读取;
- DataSourceTransactionManagerAutoConfiguration:自动创建了一个基于JDBC的事务管理器;
- JdbcTemplateAutoConfiguration:自动创建了一个JdbcTemplate。
- 因此,我们自动得到了一个DataSource、一个DataSourceTransactionManager和一个JdbcTemplate。
- 类似的,当我们引入spring-boot-starter-web时,自动创建了:
- ServletWebServerFactoryAutoConfiguration:自动创建一个嵌入式Web服务器,默认是Tomcat;
- DispatcherServletAutoConfiguration:自动创建一个DispatcherServlet;
- HttpEncodingAutoConfiguration:自动创建一个CharacterEncodingFilter;
- WebMvcAutoConfiguration:自动创建若干与MVC相关的Bean。