这期内容当中小编将会给大家带来有关Profiles 如何在Spring Boot 中配置与使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
Spring Profiles 提供了一套隔离应用配置的方式,不同的 profiles 提供不同组合的配置,在不同的环境中,应用在启动时通过选择激活某些特定的 profiles 来适应运行时环境,以达到在不同的环境可以使用相同的一套程序代码。
环境
@Profiles
你可以在任何 @Component(@Service,@Repository) 或 @Configuration 注解标注的类中使用 @Profiles 注解:
public interface PaymentService {
String createPaymentQrcode();
}
@Service
@Profile("alipay")
public class AlipayService implements PaymentService {
@Override
public String createPaymentQrcode() {
return "支付宝支付二维码";
}
}
@Service
@Profile({"default", "wechatpay"})
public class WechatpayService implements PaymentService {
@Override
public String createPaymentQrcode() {
return "微信支付二维码";
}
}
在 Spring Boot 中,默认的 profile 是 default,因此,PaymentService.createPaymentQrcode() ->
微信支付二维码。
你可以通过 spring.profiles.active
来激活某个特定 profile:
java -jar -Dspring.profiles.active='alipay' xxx.jar
PaymentService.createPaymentQrcode() ->
支付宝支付二维码。
多环境配置
在Spring Boot 中,多环境配置文件可以使用 application-{profile}.{properties|yml} 的方式。
@Component
@ConfigurationProperties("jdbc")
public class JdbcProperties {
private String username;
private String password;
// getters and setters
}
开发环境 application-dev.properties
配置:
jdbc.username=root
jdbc.password=123654
生产环境 application-prod.properties
配置:
jdbc.username=produser
jdbc.password=16888888
或:
开发环境 application-dev.yml
配置:
jdbc:
username: root
password: 123654
生产环境 application-prod.yml
配置:
jdbc:
username: produser
password: 16888888
或:
只使用 application.yml,并在此文件中通过 --- 分隔符创建多 profile 配置:
app:
version: 1.0.0
spring:
profiles:
active: "dev"
---
spring:
profiles: dev
jdbc:
username: root
password: 123654
---
spring:
profiles: prod
jdbc:
username: produser
password: 16888888
命令行启动:
java -jar -Dspring.profiles.active=prod xxxx.jar
上述就是小编为大家分享的Profiles 如何在Spring Boot 中配置与使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。