学无先后,达者为师

网站首页 编程语言 正文

springboot项目搭建和基础应用

作者:CAUC_lin 更新时间: 2022-08-15 编程语言

springboot的主要特性

  1. Springboot starter 将常用的依赖分组进行了整合,合并到一个依赖,一次性添加到项目的maven中构建
  2. 自动装配:SpringBoot的自动配置特性利用了Spring对条件化配置的支持,合理推测应用所需的bean并自动化配置他们

案例需求

  1. 构建springboot项目,请求Controller中的方法,返回值响应到页面
  2. 使用属性注入的常用注解,将自定义配置类注入项目的spring容器中

实现步骤:

  1. 使用spring Initializr构建 springboot项目

    在这里插入图片描述

    在这里插入图片描述

  2. 创建Controller

    @RestController
    public class DemoController {
    
        @RequestMapping("/demo")
        public String test(){
            return "hello~";
        }
    }
    
  3. 由于项目只扫描主程序启动类SpringbootDemoApplication当前所在的包及其子包,所以将启动类移动到所需扫描的路径下

    在这里插入图片描述

  4. 启动项目,测试

    在这里插入图片描述

在这里插入图片描述

  1. 注入自定义配置类:

    • 添加依赖的jar包,在application.yml写类信息时会有提示

      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-configuration-processor</artifactId>
          <optional>true</optional>
      </dependency>
      
    • 添加自定义类,使用@Configuration注解,各个属性添加@Value(“${XXX.xxxx}”)注入信息

      @Configuration
      public class Fruit {
      
          @Value("${fruit.type}")
          private String type;
      
          @Value("${fruit.color}")
          private String color;
      
          @Override
          public String toString() {
              return "Fruit{" +
                      "type='" + type + '\'' +
                      ", color='" + color + '\'' +
                      '}';
          }
      }
      
      
    • 在application.yml中加上注入bean的信息

      fruit:
        type: apple
        color: red
      
    • 测试

      在这里插入图片描述

  2. @ConfigurationProperties进行属性注入

    • 配置类对应的成员变量需要添加set方法,在配置类上添加@ConfigurationProperties注解

    • 添加@EnableConfigurationProperties使配置类生效、@Configuration成为配置类 / 或者使用@Component注解代替这两个注解

      @Configuration
      @EnableConfigurationProperties({JdbcConfiguration.class})//使@ConfigurationProperties注解生效
      @ConfigurationProperties(prefix = "jdbc")
      public class JdbcConfiguration {
      
          private String driverClassName;
      
          private String url;
      
          private String username;
      
          private String password;
      
          public String getDriverClassName() {
              return driverClassName;
          }
      
          public void setDriverClassName(String driverClassName) {
              this.driverClassName = driverClassName;
          }
      
          public String getUrl() {
              return url;
          }
      
          public void setUrl(String url) {
              this.url = url;
          }
      
          public String getUsername() {
              return username;
          }
      
          public void setUsername(String username) {
              this.username = username;
          }
      
          public String getPassword() {
              return password;
          }
      
          public void setPassword(String password) {
              this.password = password;
          }
      
          @Override
          public String toString() {
              return "JdbcConfiguration{" +
                      "driverClassName='" + driverClassName + '\'' +
                      ", url='" + url + '\'' +
                      ", username='" + username + '\'' +
                      ", password='" + password + '\'' +
                      '}';
          }
      }
      
      
    • 在yml文件添加配置信息

      jdbc:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/bank
        username: root
        password: root
      
    • 测试

      在这里插入图片描述

  3. 第三方jar的bean注入

    • 导入数据库的jar包

              <dependency>
                  <groupId>com.github.drtrang</groupId>
                  <artifactId>druid-spring-boot2-starter</artifactId>
                  <version>1.1.10</version>
              </dependency>
      
    • 在yml文件中添加bean的属性

      jdbc:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/bank
        username: root
        password: root
      
    • 创建一个配置类,使用@Bean注解将返回的第三方jar包下的bean注入IOC容器,使用@ConfigurationProperties注解使配置信息生效

      @Bean
      public DataSource dataSource(){
      
          DruidDataSource dataSource = new DruidDataSource();
          dataSource.setDriverClassName(driverClassName);
          dataSource.setUrl(url);
          dataSource.setUsername(username);
          dataSource.setPassword(password);
          return dataSource;
      }
      
    • 测试

      在这里插入图片描述

总结

  • 使用spring Initializr就可以创建springboot工程
  • 自定义配置类需要使用的注解有:@Configuration、@ConfigurationProperties、@EnableCOnfigurationProperties 三个注解,可以在.yml或者.properties文件中添加注入bean的属性
  • 第三方jar包下的bean注入使用@bean注解,在方法上添加@ConfigurationProperties注解可以给返回的bean添加属性

原文链接:https://blog.csdn.net/CAUC_lin/article/details/126336567

栏目分类
最近更新