Springboot项目从配置文件中获取值的两种方式

 

方式一:使用配置类

Demo1:

如灵活配置一个数字4:

在application.properties中:

app.calculate_period=${APP_CALCULATE_PERIOD:4}

 代码:

Configuration配置类

@Configuration
@ConfigurationProperties("app")
@Validated
public class AppProperties {

	@NotNull
	private Integer calculatePeriod;


	public Integer getCalculatePeriod() {
		return calculatePeriod;
	}

	public void setCalculatePeriod(Integer calculatePeriod) {
		this.calculatePeriod = calculatePeriod;
	}
}

使用: 

// 1. Calculate period(default 4 years)
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.YEAR, -appProperties.getCalculatePeriod());

Demo2:

》配置一个Book类

在src/main/resources文件夹下创建文件book.properties

book.name=红楼梦
book.author=曹雪芹
book.price=28

》创建Book Bean,并注入properties文件中的值

@Component
@ConfigurationProperties(prefix = "book",locations = "classpath:book.properties")
public class BookBean {
    private String name;
    private String author;
    private String price;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getAuthor() {
        return author;
    }
 
    public void setAuthor(String author) {
        this.author = author;
    }
 
    public String getPrice() {
        return price;
    }
 
    public void setPrice(String price) {
        this.price = price;
    }
}

prefix是指前缀,location指定要注入文件的位置。

》使用

Controller中添加如下代码注入Bean

@Autowired
    private BookBean bookBean;

@RequestMapping("/book")
    public String book() {
        return "Hello Spring Boot! The BookName is "+bookBean.getName()+";and Book Author is "+bookBean.getAuthor()+";and Book price is "+bookBean.getPrice();
    }

 

 

方式二:直接使用@value取值

application.properties配置文件中:

spring.application.name=appxxx

代码中,直接可以使用@value获取为类的对应属性值 

@Value("${spring.application.name}")
String appId;

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源是一个基于Spring Boot的校园台球厅人员与设备管理系统项目,它利用Java技术构建,并使用MySQL作为数据库。以下是对该项目的详细介绍: 1. **技术框架**: - 后端开发语言为Java,确保了系统的稳定性和可移植性。 - 采用Spring Boot框架进行快速开发和部署,简化了配置流程,提高了开发效率。 - 数据库选用MySQL,进行数据的储和管理,保证了数据的一致性和安全性。 2. **系统功能**: - 设计了首页、个人中心等基础页面,提供了用户友好的操作界面。 - 实现了用户管理模块,方便对台球厅顾客信息进行管理。 - 包含会员账号管理,可以有效管理会员资料和账户信息。 - 提供会员充值功能,简化了会员充值流程,提升了顾客体验。 3. **开发环境**: - 推荐使用的JDK版本为1.8以上,以确保最佳的性能和兼容性。 - 服务器建议使用Tomcat,它是一个广泛使用的Web服务器,特别适合与Spring Boot搭配使用。 - 项目构建工具可能包括Maven或Gradle,这两种工具都可以有效地管理项目的依赖和构建过程。 4. **资源获取**: - 提供了完整的源码、数据库文件、文档和PPT,方便用户理解和使用该系统。 - 资源大小约为47.14MB,包含了项目所需的所有材料。 综上所述,这个校园台球厅人员与设备管理系统项目提供了一个全面的解决方案,适用于需要此类管理系统的校园台球厅。它不仅包括了实用的功能模块,还注重了用户体验和系统的可维护性。
SpringBoot中,我们可以通过以下几种方式获取配置文件的值: 1. 使用@Value注解 @Value注解是Spring框架中的注解之一,可以直接用来获取配置文件的值。需要注意的是,该注解只能用于注入基本数据类型和字符串类型,不能注入自定义对象类型。例如: @Configuration public class MyConfig { @Value("${my.name}") private String name; @Value("${my.age}") private int age; // ... } 在配置文件中定义: my.name=张三 my.age=20 这样就可以在MyConfig类中获取到name和age对应的值了。 2. 使用@ConfigurationProperties注解 @ConfigurationProperties注解也可以用来获取配置文件的值,不同的是它可以注入自定义对象类型。需要注意的是,要获取的配置项的前缀必须要与该注解的value属性值匹配。例如: @Configuration @ConfigurationProperties(prefix = "person") public class PersonConfig { private String name; private int age; // ... } 在配置文件中定义: person.name=张三 person.age=20 这样就可以在PersonConfig类中获取到name和age对应的值了。 3. 使用Environment对象 除了以上两种方式,我们还可以通过Environment对象来获取配置文件的值。需要先注入Environment对象,然后可以直接调用它的getProperty方法来获取指定配置项的值。例如: @Configuration public class MyConfig { @Autowired private Environment env; // ... public void doSomething() { String name = env.getProperty("my.name"); int age = Integer.parseInt(env.getProperty("my.age")); // ... } } 在配置文件中定义: my.name=张三 my.age=20 这样就可以在MyConfig类中获取到name和age对应的值了。 总结:以上三种方式都可以用来获取配置文件的值,根据实际情况选择使用即可。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值