springboot当中ConfigurationProperties注解作用跟数据库存入有啥区别

@ConfigurationProperties 是 Spring Boot 中用于绑定配置属性到 Java 类的注解。通过这个注解,可以方便地将 application.properties 或 application.yml 文件中的配置参数映射到 Java 对象的属性上。

下面是 @ConfigurationProperties 的一些作用和优点:

  1. 简化配置文件管理:通过在 Java 类中使用 @ConfigurationProperties 注解,可以将配置参数直接映射到对应的属性上,使得管理和维护配置参数变得更加方便。

  2. 类型安全:通过使用 @ConfigurationProperties 注解,Spring Boot 在编译时会进行类型检查,确保配置属性和 Java 对象的属性类型匹配,避免在运行时出现类型转换错误。

  3. IDE支持:在使用 @ConfigurationProperties 注解的类中,IDE通常可以提供代码补全和查找引用等功能,帮助开发者更方便地管理配置属性。

  4. 数据绑定:Spring Boot 可以自动完成配置属性到 Java 对象属性的数据绑定,避免了手动解析配置文件的麻烦。

  5. 属性校验:可以使用校验注解(如 @Validated@NotBlank 等)来对绑定的属性进行校验,确保配置的合法性。

  6. 注入方便:使用 @ConfigurationProperties 注解后,可以方便地通过 Spring 的依赖注入将配置属性注入到需要的 Bean 中,使得在代码中引用配置更加简单。

总的来说,通过使用 @ConfigurationProperties 注解,我们可以更加方便地管理和使用配置信息,从而提高代码的可维护性和可读性。

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "myapp")
public class MyAppProperties {

    private String appName;
    private String version;

    // Getters and Setters

    public String getAppName() {
        return appName;
    }

    public void setAppName(String appName) {
        this.appName = appName;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }
}
  1. 配置文件 application.properties 或 application.yml

在 application.properties 中定义配置参数:

myapp.appName=My Application
myapp.version=1.0
  1. 在服务类中注入配置
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class MyService {

    @Autowired
    private MyAppProperties myAppProperties;

    public void printAppInfo() {
        System.out.println("App Name: " + myAppProperties.getAppName());
        System.out.println("Version: " + myAppProperties.getVersion());
    }
}

在这个示例中,MyAppProperties 类使用 @ConfigurationProperties 注解标记,并指定了配置文件中属性的前缀。配置文件中的属性将自动映射到 MyAppProperties 对象的对应属性中。在 MyService 类中通过注入 MyAppProperties 对象,可以直接访问配置文件中的属性值。

最终,当 MyService 的 printAppInfo 方法被调用时,将打印出配置文件中的 appName 和 version 的值。

跟数据库存入数据有啥区别

@ConfigurationProperties 注解的作用在于将应用程序的配置属性绑定到 Java 类中,从而简化配置属性的管理和使用。这种方式通常在 Spring Boot 中用于读取配置文件中的属性值并注入到应用程序的 Bean 中。

一般情况下,使用@ConfigurationProperties的优点包括:

  1. 类型安全: 配置属性与 Java 对象属性类型一致,避免了在代码中进行手动类型转换的问题。

  2. 易用性: 简化了读取配置文件和使用配置属性的方式,提高了代码的可读性和维护性。

  3. 数据校验: 可以通过校验注解对配置属性进行校验,保证配置的合法性。

  4. 依赖注入: 方便地通过 Spring 的依赖注入将配置属性注入到需要的 Bean 中。

  5. 容易进行扩展和管理: 可以更方便地管理大量的配置属性,并在不同的类中重复使用这些配置属性。

与存储数据库的区别:

  1. 配置数据与业务数据@ConfigurationProperties 通常用来管理应用程序的配置信息,如连接地址、端口号、超时时间等,而数据库存储的是业务数据,如用户信息、订单信息等。

  2. 数据量与访问频率: 配置属性通常是应用程序使用的一些静态配置信息,数据量有限且不经常改变,而数据库存储的是大量的动态业务数据,可能会频繁进行增删改查操作。

  3. 持久性: 应用程序的配置数据通常是存储在配置文件中,只在应用启动时加载,而数据库存储的数据是持久化的,长期保存并支持读写操作。

总的来说,@ConfigurationProperties 注解适用于管理应用程序的配置信息,在开发中会经常用到,特别是在使用 Spring Boot 等框架进行开发的情况下。与存储数据库相比,它们的用途和操作对象是不同的,各自发挥着不同的作用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值