下面就详细讲解一下SpringBoot注入配置文件的3种方法。
方法1:使用@Value注解
步骤1:在application.properties配置文件中添加属性
app.name=My App
app.version=1.0.0
步骤2:在代码中使用@Value注解进行注入
@RestController
public class MyController {
@Value("${app.name}")
private String appName;
@GetMapping("/app")
public String getAppName() {
return appName;
}
}
示例代码中,我们使用@Value注解注入了配置文件中的app.name属性,并在GetMapping注解的方法中返回了这个属性的值,访问/app接口即可查看返回结果。
方法2:使用@ConfigurationProperties注解
步骤1:创建配置类
@ConfigurationProperties(prefix = "app")
public class AppConfig {
private String name;
private String version;
// getter and setter
}
步骤2:在application.properties配置文件中添加属性
app.name=My App
app.version=1.0.0
步骤3:在主类中使用@EnableConfigurationProperties注解开启配置类
@SpringBootApplication
@EnableConfigurationProperties(AppConfig.class)
public class MyAppApplication {
public static void main(String[] args) {
SpringApplication.run(MyAppApplication.class, args);
}
}
步骤4:在代码中使用@Autowired注入配置类
@RestController
public class MyController {
@Autowired
private AppConfig appConfig;
@GetMapping("/app")
public String getAppInfo() {
return appConfig.getName() + " " + appConfig.getVersion();
}
}
示例代码中,我们使用@ConfigurationProperties注解创建了一个配置类AppConfig,这个类中的name和version属性对应了配置文件中的app.name和app.version属性。然后在主类中使用@EnableConfigurationProperties注解开启了配置类,最后使用@Autowired注解注入了配置类,并在GetMapping注解的方法中返回了这些属性的值,访问/app接口即可查看返回结果。
方法3:使用@PropertySource和@Value注解
步骤1:在AppConfig类上添加@PropertySource注解
@Configuration
@PropertySource("classpath:app.properties")
@ConfigurationProperties(prefix = "app")
public class AppConfig {
private String name;
private String version;
// getter and setter
}
步骤2:在代码中使用@Value注解进行注入
@RestController
public class MyController {
@Value("${app.name}")
private String appName;
@GetMapping("/app")
public String getAppName() {
return appName;
}
}
示例代码中,我们使用@PropertySource注解在AppConfig类上添加配置文件的位置,然后在代码中使用@Value注解进行注入。注意,这里要使用${}语法来引用配置文件中的属性名,并在GetMapping注解的方法中返回了这个属性的值,访问/app接口即可查看返回结果。
以上就是SpringBoot注入配置文件的3种方法详解,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot注入配置文件的3种方法详解 - Python技术站