myapp.port=8080
application.yml
myapp:
host: localhost
port: 8080
在上面的例子中,我们定义了两个配置项:myapp.host
和myapp.port
。
2.3 使用 @Value 注解
在需要读取配置的类或方法中,可以使用@Value
注解将配置值注入到对应的变量中。例如:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyConfig {
@Value(“${myapp.host}”)
private String host;
@Value(“${myapp.port}”)
private int port;
// Getter and setter methods
}
在上面的例子中,我们使用@Value
注解将配置项myapp.host
和myapp.port
的值注入到host
和port
变量中。通过使用${}
语法,可以指定要注入的配置项的名称。
2.4 使用配置值
配置值注入到变量中后,可以在任何需要使用配置值的地方直接使用对应的变量。例如:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MyService {
private MyConfig myConfig;
@Autowired
public MyService(MyConfig myConfig) {
this.myConfig = myConfig;
}
public void printConfig() {
System.out.println("Host: " + myConfig.getHost());
System.out.println("Port: " + myConfig.getPort());
}
}
在上面的例子中,我们在MyService
类中通过构造函数注入MyConfig
对象,并使用myConfig.getHost()
和myConfig.getPort()
方法获取配置值。这样,我们可以在printConfig()
方法中打印出配置的主机名和端口号。
通过以上步骤,我们可以在Spring Boot应用程序中读取配置文件中的配置项,并将其注入到对应的变量中,方便在应用程序中使用。
3. 使用@ConfigurationProperties注解读取配置文件
除了使用@Value
注解,还可以使用@ConfigurationProperties
注解来读取配置文件。@ConfigurationProperties
注解可以将配置文件中的配置项的值注入到一个Java对象中。
3.1 创建配置类
首先,需要创建一个Java类,并使用@ConfigurationProperties
注解标注。这个类将保存读取到的配置值。例如:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = “myapp”)
public class MyConfig {
private String host;
private int port;
// Getter and setter methods
}
在上面的例子中,我们使用@ConfigurationProperties
注解标注这个类,并指定了prefix
属性为myapp
。这表示这个类将读取以myapp
为前缀的配置项的值。
3.2 配置项定义
然后,在配置文件中,我们可以定义需要读取的配置项。以下是一个例子:
application.properties
myapp.host=localhost
myapp.port=8080
application.yml
myapp:
host: localhost
port: 8080
3.3 使用配置类
在需要使用配置值的地方,可以将配置类注入并使用其属性。例如:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MyService {
private MyConfig myConfig;
@Autowired
public MyService(MyConfig myConfig) {
this.myConfig = myConfig;
}
public void printConfig() {
System.out.println("Host: " + myConfig.getHost());
System.out.println("Port: " + myConfig.getPort());
}
}
在上面的例子中,我们在MyService
类中通过构造函数注入MyConfig
对象,并使用myConfig.getHost()
和myConfig.getPort()
方法获取配置值。
通过使用@ConfigurationProperties
注解,我们可以将配置文件中的配置项的值注入到一个Java对象中,使得配置值的使用更加方便和类型安全。
4. 使用配置文件的优势
使用配置文件来管理应用程序的配置信息有以下优势:
4.1 分离配置和代码
将配置信息单独存放在配置文件中,可以将配置和代码分离,使得代码更加清晰和易于维护。当配置信息发生变化时,只需要修改配置文件而不需要改动代码。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Go语言工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Go语言全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Golang知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Go)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-FMBRCpSm-1712914551805)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!