### Spring Boot 入门知识点详解
#### 一、Spring Boot 是什么?
Spring Boot 是由 Pivotal 团队提供的一款全新的 Java 框架,旨在简化 Spring 应用的搭建和开发过程。它通过默认配置的方式减少了许多样板式的配置工作,使得开发者能够更加专注于业务逻辑的实现。
#### 二、Spring Boot 的主要优点
1. **敏捷开发**:Spring Boot 支持快速开发,简化了项目的搭建过程。
2. **内置 Tomcat 容器**:无需额外安装 Tomcat,Spring Boot 默认集成了 Tomcat 容器,方便进行 Web 开发。
3. **支持 JAR 包运行**:Spring Boot 应用可以直接打包成 JAR 文件运行,便于部署。
4. **减少 Spring 大量的配置**:Spring Boot 提供了一套默认的配置,简化了繁琐的 XML 配置文件。
5. **快速集成其他框架**:Spring Boot 支持与其他流行框架如 MyBatis、Thymeleaf 等快速集成。
#### 三、创建第一个 Spring Boot 项目
1. **创建 Maven 项目**:在 IDE 中新建一个 Maven 项目。
2. **添加依赖**:在 `pom.xml` 文件中添加 Spring Boot Starter Web 依赖:
```xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
```
3. **创建控制器类**:创建一个简单的控制器类,用于处理 HTTP 请求:
```java
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Spring Boot!";
}
}
```
4. **创建启动类**:创建一个带有 `@SpringBootApplication` 注解的启动类:
```java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```
5. **运行项目**:运行 `Application` 类中的 `main` 方法,然后在浏览器中访问 `http://localhost:8080/hello`。
#### 四、核心注解介绍
1. **`@SpringBootApplication`**:表示这是一个 Spring Boot 应用,包含了 `@SpringBootConfiguration`、`@EnableAutoConfiguration` 和 `@ComponentScan`。
2. **`@SpringBootConfiguration`**:表示该类是一个配置类,等同于传统的 `@Configuration`。
3. **`@EnableAutoConfiguration`**:开启自动配置功能,根据类路径中的 jar 包和 bean 定义自动配置 Spring 上下文。
4. **`@ComponentScan`**:扫描指定包下的所有带有 `@Component` 注解的类,并自动注册为 Bean。同时也包括 `@Service`、`@Repository` 和 `@Controller` 这些注解。
#### 五、热部署
为了实现代码修改后无需重启服务,可以在 `pom.xml` 中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
```
这个插件会自动监听文件的变化,并重新加载应用。
#### 六、使用 Java -jar 命令启动项目
1. 在 `pom.xml` 文件中添加以下配置:
```xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
```
2. 执行 `mvn clean package` 命令打包项目。
3. 使用 `java -jar target/your-project.jar` 命令启动项目。
#### 七、整合 JSP
1. 在 `pom.xml` 文件中添加对 JSP 和 Tomcat 的支持:
```xml
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
```
2. 创建 `application.properties` 或 `application.yml` 配置文件,并添加视图前缀配置:
```properties
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
```
3. 在 `src/main/webapp/WEB-INF/jsp` 目录下创建 JSP 页面。
4. 创建控制器类处理请求。
#### 八、整合 MyBatis
1. 在 `pom.xml` 文件中添加 MyBatis 的依赖:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
```
2. 在 `application.yml` 文件中配置数据源和 MyBatis:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/test
username: root
password: password
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
type-aliases-package: com.example.demo.entity
mapper-locations: classpath:mapper/*.xml
```
3. 创建实体类、Mapper 接口和 Service 接口,完成基本的 CRUD 操作。
通过以上步骤,您可以快速地创建并运行一个 Spring Boot 应用,并进一步整合其他框架和技术。