application配置文件的使用

概述

application的作用是为应用程序提供配置信息,在springboot启动的时候,会自动加载该文件,并根据其中的配置信息对对于的应用程序进行配置

application文件分为两种

  • properties
  • yaml

配置文件的配置项有很多,常见的有数据库连接信息,日志,端口号等。

在springboot中还可以使用@ConfigurationProperties注解将配置文件中的配置项注入到Java对象中,方便进行配置和管理

这里以yaml为主来详解

应用

常见的一些配置项

server:
  port: 8080 # 服务器端口号
  context-path: /myapp # 应用程序的上下文路径
  servlet:
    context-path: /myapp # Servlet的上下文路径
  ssl:
    enabled: true # 是否启用SSL/TLS
    key-store: classpath:ssl/server.jks # 证书库路径
    key-store-password: password # 证书库密码
    key-store-type: JKS # 证书库类型
    key-alias: tomcat # 证书别名
spring:
  application:
    name: myapp # 应用程序名称
  datasource:
    url: jdbc:mysql://localhost:3306/mydb # 数据库连接URL
    username: root # 数据库用户名
    password: password # 数据库密码
    driver-class-name: com.mysql.jdbc.Driver # JDBC驱动类名
logging:
  level:
    root: INFO # 根日志级别
    org.springframework.web: DEBUG # 指定包的日志级别

在Java中导入配置列定义的信息

配置类信息

# 超级管理员
superAdministrator:
  name: admin
  pwd: 123456

管理员类

/**
 * 表示当前类是一个配置类
 * 通常用于定义Bean的创建方式和依赖关系 (告诉spring容器,这个类中定义的@Bean注解所创建的Bean应该被管理和维护)
 * */
@Configuration
/**
 * 使用注解@ConfigurationProperties注解需要和@Configuration一起使用
 * @ConfigurationProperties可以直接使用在一个普通类上,但这样做可能会导致无法被正确的扫描注册到Bean中
 * 需要使用@Configuration来提升等级,这样可以确保@ConfigurationProperties注解被正确地扫描到
 * 并且在属性值发生变化时能够自动刷新Java Bean。
 * */
@ConfigurationProperties(prefix = "superadministrator")
public class SuperAdministrator {
    private String name;

    private String pwd;

    public String getName(){
        return this.name;
    }

    public String getPwd(){
        return this.pwd;
    }

    /**
     * 必须需要set方法 配置文件里面的配置项才可以注入
     * */
    public void setName(String name) {
        this.name = name;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    @Override
    public String toString() {
        return "SuperAdministrator{" +
                "name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                '}';
    }
}

使用

/**
 * 标识这个类为 controller类(处理客户端发送的请求,并返回响应结果) Rest表示返回JSON格式
 * RestController 是 Controller的升级
 * */
@RestController
/**
 * 用于设置当前类的url地址
 * */
@RequestMapping("/index")
public class IndexController {
    /**
     *  @Autowired
     *      自动在代码上下文中找到其匹配的Bean,当仅有一个匹配的Bean时,Spring将其注入@Autowire标注的变量中。
     *  @Qualifier(指定Bean名称注入)
     *      通常和@Autowired一起使用,一般在两个或者多个bean是相同的类型时,spring注入会出现混乱,就需要使用@Qualifier(“xxBean”) 来指定Bean的名称。
     *  @Resource
     *      默认通过name属性去匹配bean,找不到再按type去匹配
     *      当type属性和name属性同时指定时,会优先使用type属性匹配bean。
     * */
    @Autowired
    private SuperAdministrator admin;

    /**
     * RequestMapper可以传入多个URL (接收这些地址传递的数据)
     * 如果是多个的话 需要把path标明,如果只有一个地址可以不写(默认的)
     * @RequestMapping(path = {"/hello","hello2"})
     * */
    @RequestMapping("/hello")
    public String Hello(){
        System.out.println(admin.getName());
        return admin.toString();
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值