SpringBoot2零基础到精通之配置文件与web开发

  1. 配置文件

Spring Boot 项目中的配置文件一般有 application.properties 和 application.yml 两种,它们用于对应不同的属性配置和格式化方式,常见的属性配置包括数据库连接、端口号、日志级别等。其中,application.yml 文件的格式化方式相对更灵活,可以嵌套、缩进和列表项等等。

下面以 MySQL 数据库连接池为例,演示配置不同的数据源,并在代码中使用:

application.yml 配置:

spring:
  datasource:
    url: jdbc:mysql://${mysql.one.host}:${mysql.one.port}/${mysql.one.db}?useSSL=false&charset=utf8&allowMultiQueries=true
    username: ${mysql.one.username}
    password: ${mysql.one.password}
    driver-class-name: com.mysql.jdbc.Driver
    initialization-mode: always

mysql:
  one:
    host: 127.0.0.1
    port: 3306
    db: test
    username: root
    password: root

Java 代码:

@Data
@Configuration
@ConfigurationProperties(prefix = "mysql.two") // 绑定配置文件中 mysql.two 前缀的属性
public class DataSourceConfig2 {

    private String url;
    private String username;
    private String password;
    private String driverClassName;

    @Bean
    public DataSource druidDataSource() throws SQLException {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        dataSource.setDriverClassName(driverClassName);
        dataSource.setFilters("config");
        return dataSource;
    }
}

@Service
public class UserServiceImpl {

    @Autowired
    private DataSource dataSource;

    public void test() throws SQLException {
        Connection conn = dataSource.getConnection();
        // do something
    }
}
  1. Web 开发

Spring Boot 内置了一些开发 Web 应用需要的工具和自动配置,比如嵌入式 Tomcat 容器、Thymeleaf 模板引擎、自动配置的 Controller 映射等等。我们可以基于这些模块,快速地开发服务端应用。下面演示一个基本的 GET 请求和 POST 请求的处理:

@RestController
@RequestMapping("/user")
public class UserController {

    @GetMapping("/{id}")
    public User findById(@PathVariable Long id) {
        return userService.findById(id);
    }

    @PostMapping("/")
    public User save(@RequestBody User user) {
        return userService.save(user);
    }
}

前面的请求通过 @GetMapping 注解来指定,具体路径是 /user/{id},其中的 {id} 表示动态变量,可以通过 @PathVariable 注解绑定到参数中。后面的请求则是 @PostMapping ,使用了 @RequestBody 注解来表示请求体,然后将其转换为 Java 对象。在这个最简单的例子中,我们使用了一个 UserService 来实现 findById 和 save 两个接口,但其实应该将这个服务用 @Service 或 @Component 注解标注。

使用 Postman 或者 curl 工具,可以测试这个 RESTful 的 API 接口:

curl -X GET http://localhost:8080/user/1
{"id":1,"name":"zhangsan","age":20}

curl -X POST -H "Content-Type:application/json" -d '{"name":"lisi","age":30}' http://localhost:8080/user/
{"id":2,"name":"lisi","age":30}

除此之外,Spring Boot 还可以提供更复杂的 MVC 处理、过滤器链、会话管理等等,详情请参考 Spring Boot 官网文档。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot2零基础到精通之配置文件与web开发 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • Hibernate延迟加载原理与实现方法

    下面是对于Hibernate延迟加载原理与实现方法的详细讲解。 1. Hibernate延迟加载的原理 Hibernate提供了延迟加载(Lazy Loading)的机制,延迟加载指的是在运行时如果检测到某个属性没有被访问,那么Hibernate就不会去加载该属性对应的数据库记录,直到在程序中第一次访问该属性时再去加载。 延迟加载的实现是Hibernate对…

    Java 2023年5月19日
    00
  • Java图论进阶之最小生成树算法详解

    Java图论进阶之最小生成树算法详解 在图论中,最小生成树(Minimum Spanning Tree, MST) 是连接所有图节点的一棵树,其边的权重和最小。本文将介绍最常见的两种求最小生成树的算法——Prim算法和Kruskal算法。 Prim算法 Prim算法以一个初始节点为起点,每次选择距离该节点最近的未访问节点加入生成树中,直至生成一棵生成树,时间…

    Java 2023年5月19日
    00
  • 阿里云服务器linux系统搭建Tomcat部署Web项目

    关于在阿里云服务器搭建Tomcat并部署Web项目的攻略,我们可以分为以下几个步骤进行讲解: 购买阿里云服务器 首先我们需要购买一台阿里云服务器,选择好服务器的操作系统,建议选择一款稳定的Linux系统,例如CentOS或Ubuntu,这里我们以CentOS 7为例。 安装Java环境 在成功登录服务器后,我们需要安装Java环境,Tomcat是基于Java…

    Java 2023年5月19日
    00
  • Mybatis-plus与Mybatis依赖冲突问题解决方法

    Mybatis-plus是基于Mybatis的增强框架,它在Mybatis的基础上提供了一些实用、便捷的功能。但是,在开发过程中,我们有可能会遇到Mybatis-plus和Mybatis依赖冲突的问题。本文将针对这一问题给出完整的解决方法,包括具体的示例演示。 完整攻略 1. 了解冲突原因 首先,我们需要了解冲突的原因。Mybatis-plus和Mybati…

    Java 2023年5月20日
    00
  • JavaWeb中导出excel文件的简单方法

    下面是JavaWeb中导出Excel文件的简单方法的完整攻略。 步骤一:导入相关的依赖 在项目中导出Excel文件,需要用到POI库。因此需要在pom.xml中导入相关的依赖: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</…

    Java 2023年5月26日
    00
  • Layer弹出层动态获取数据的方法

    Layer弹出层是一款基于jQuery的Web弹出组件,它具有美观、易用、功能强大的特点。在开发时,可能需要在弹出层中展示动态获取的数据。本攻略将详细说明“Layer弹出层动态获取数据的方法”。 步骤1:引入jQuery库和layer.js文件 Layer弹出层组件基于jQuery,使用前需要先确认页面中已经引入了jQuery库,以便后续使用。 <!-…

    Java 2023年6月16日
    00
  • SpringBoot Security的自定义异常处理

    我来为您讲解如何在SpringBoot Security中进行自定义异常处理。 1. 异常处理 SpringBoot Security框架中,可以使用@ControllerAdvice和@ExceptionHandler来实现对自定义异常的处理。 1.1 定义自定义异常 首先,我们需要定义一个自定义异常类,例如: (1)自定义异常类MyException.j…

    Java 2023年5月20日
    00
  • springboot注入servlet的方法

    下面是详细讲解Spring Boot注入Servlet的方法的完整攻略。 1. 添加Servlet API依赖 在Spring Boot中使用Servlet必须要先添加Servlet API依赖。可以在pom.xml文件中添加以下依赖项: <dependency> <groupId>javax.servlet</groupId&…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部