目录

简介

简单代码示例

配置文件种类

选择特定profile

从配置文件获取数据

Spring Boot整合MyBatis代码示例


简介

Spring Boot是一个用于创建独立、生产级别的Spring应用程序的开源框架。它简化了基于Spring框架的应用程序的开发和部署过程,提供了一种快速构建应用程序的方式。

Spring Boot提供了自动配置功能,通过约定大于配置的原则,减少了开发人员的配置工作。它集成了许多常用的第三方库和框架,例如Spring MVC、Hibernate、JPA等,使得开发人员可以更加方便地使用这些功能来构建应用程序。

Spring Boot还内置了一个嵌入式的Servlet容器,如Tomcat或Jetty,使得应用程序可以以独立的方式运行,不需要额外安装和配置外部服务器。此外,它还提供了健康检查、监控、日志记录等功能,方便开发人员进行应用程序的管理和维护。

简单代码示例

添加启动依赖

<!-- Maven 依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

创建一个启动类来运行应用程序 

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

创建一个简单的控制器类来处理 HTTP 请求

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
public class HelloController {

    @GetMapping
    public String sayHello() {
        return "Hello, World!";
    }
}

 

配置文件种类

Spring Boot可以使用多种类型的配置文件来配置应用程序,常见的配置文件包括:

1.application.properties:基于键值对的属性文件,可以用来配置各种属性。

# application.properties
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=password

2.application.yml:基于YAML语法的配置文件,可读性更好,支持更复杂的配置结构。

# application.yml
server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydatabase
    username: root
    password: password

3.application-{profile}.propertiesapplication-{profile}.yml:针对不同环境的特定配置文件,例如application-dev.yml、application-prod.yml等

# application-dev.yml
spring.datasource.url=jdbc:mysql://localhost:3306/devdatabase

选择特定profile

启动应用程序时指定激活的profile。可以通过命令行参数、环境变量、配置文件等方式指定spring.profiles.active属性。

1.命令行参数方式:

java -jar myapplication.jar --spring.profiles.active=dev

2.环境变量方式:

export SPRING_PROFILES_ACTIVE=dev
java -jar myapplication.jar

3.配置文件方式:

# application.properties
spring.profiles.active=dev

从配置文件获取数据

①value注解

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class MyComponent {
    @Value("${custom.property}")
    private String customProperty;

    // 省略其它代码
}

②Environment环境变量

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

@Component
public class MyComponent {
    @Autowired
    private Environment environment;

    public void someMethod() {
        String customProperty = environment.getProperty("custom.property");
        // 使用 customProperty 进行其它操作
    }
}

③对象和配置属性的绑定(@ConfigurationProperties)

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "custom")
public class MyCustomProperties {
    private String property;

    // getter 和 setter 方法省略

    // 省略其它代码
}

Spring Boot整合MyBatis代码示例

1.pom.xml文件中添加以下依赖

<dependencies>
    <!-- Spring Boot Starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- MyBatis Starter -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
    </dependency>

    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

2.在application.propertiesapplication.yml文件中配置数据库连接信息

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=myusername
spring.datasource.password=mypassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

3.创建一个实体类User.java,并在其中定义与数据库表对应的字段

public class User {
    private Long id;
    private String name;

    // getter and setter methods
}

4.创建一个Mapper接口UserMapper.java,并使用注解方式定义SQL语句

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM users")
    List<User> getAllUsers();
}

5.创建一个Service类UserService.java,并在其中实现业务逻辑

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public List<User> getAllUsers() {
        return userMapper.getAllUsers();
    }
}

6.创建一个Controller类UserController.java,处理HTTP请求

@RestController
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/users")
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }
}
02-07 09:09