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日

相关文章

  • 纯注解版spring与mybatis的整合过程

    下面我将详细讲解”纯注解版Spring与Mybatis的整合过程”的完整攻略。 准备工作 首先,需要配置好Maven环境,以便引入所需的依赖。 其次,需要根据需要,配置好数据库环境。 整合Spring和Mybatis 第一步:引入Spring和Mybatis的依赖 <dependencies> <!– 引入Spring的依赖 –>…

    Java 2023年6月1日
    00
  • 浅谈Java中的final关键字与C#中的const, readonly关键字

    浅谈Java中的final关键字与C#中的const, readonly关键字 在Java和C#中,我们都可以使用final、const和readonly来定义常量。但是,它们在使用上有些许差异。 Java中的final关键字 在Java中,使用final关键字可以定义常量。它可以被用于修饰变量、类或方法。当用于定义变量时,final表示该变量的值一旦被赋值…

    Java 2023年5月26日
    00
  • Java中的异常处理机制是什么?

    Java中的异常处理机制是通过try-catch语句块和throw抛出异常语句实现的。以下是Java中异常处理机制的详细步骤: 1. 什么是异常 在编写程序时,不可避免遇到一些非预期的错误,这些错误被成为异常。Java中的异常是一种对象,它用来信号某个方法出现了错误,有关这种错误的信息被封装在异常对象中并传递给调用该方法的程序。 2. 异常分类 Java中的…

    Java 2023年4月27日
    00
  • SpringBoot使用JDBC获取相关的数据方法

    下面是SpringBoot使用JDBC获取相关数据的操作攻略: 准备工作 首先,我们需要在pom.xml文件中添加JDBC依赖,可以添加MySQL、Oracle等依赖,这里以MySQL为例,pom.xml文件中添加以下依赖: <dependency> <groupId>mysql</groupId> <artifac…

    Java 2023年5月20日
    00
  • tomcat6_apache2.2_ajp 负载均衡加集群实战分享

    Tomcat6、Apache2.2、AJP 负载均衡加集群实战分享 一、引言 本文将介绍如何使用Tomcat6、Apache2.2和AJP实现负载均衡加集群,并提供了两个示例进行演示。本文假设读者已经熟悉Linux基础知识,并且已经安装了Tomcat6和Apache2.2。 二、负载均衡加集群 2.1 集群模式 为了实现负载均衡加集群,我们需要将多个Tomc…

    Java 2023年5月19日
    00
  • Spring Security 实现用户名密码登录流程源码详解

    下面是关于Spring Security实现用户名密码登录流程源码详解的完整攻略: Spring Security 实现用户名密码登录流程源码详解 什么是 Spring Security Spring Security是基于Spring框架的安全框架,它提供了企业级的安全性,可以防止用户身份被窃取、数据被篡改、应用被攻击等安全问题。它支持各种认证机制,包括基…

    Java 2023年5月20日
    00
  • Spring框架核心概念小结

    下面是Spring框架核心概念的完整攻略: Spring框架核心概念小结 1. IoC容器 IoC全称Inversion of Control,中文名为控制反转。在Spring框架中,IoC容器负责管理Java对象的创建和销毁,并且通过依赖注入的方式将对象之间的依赖关系交给容器来管理。Spring框架的IoC容器实现了Bean的管理,也就是管理对象实例,并提…

    Java 2023年5月19日
    00
  • Spring Boot使用Druid进行维度的统计和监控

    Spring Boot是一种快速开发框架,它提供了许多功能和工具,使得开发者可以快速构建高效的应用程序。Druid是一种开源的数据库连接池和监控平台,它提供了许多功能和工具,使得开发者可以更好地管理和监控数据库连接。在本攻略中,我们将介绍如何使用Spring Boot和Druid进行维度的统计和监控。 以下是两个示例,介绍如何使用Spring Boot和Dr…

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