欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Java之Spring认证使用Profile配置运行环境讲解

时间:2023-01-04 09:37:49|栏目:JAVA代码|点击:

Spring提供了@Profile注解来解决程序在不同运行环境时候的配置差别。

项目开发时候大多包含:开发、测试、上线运行几个过程,在每个过程中软件的工作环境一般多少有些差别,比如:在开发阶段利用本地数据库、测试阶段采用测试数据库、在上线运行阶段使用生产数据库。这些差别如果采用了手工维护就会存在各种问题:效率低下、容易发生人为因素意外错误。

利用Spring提供的@Profile注解就可以定义程序不同的运行场景配置,配置以后在启动程序时候给定不同的启动参数就可以灵活的切换运行场景,不再需要人工干预,这样就可以大大提升开发效率。

在这里插入图片描述

以配置开发环和生产境数据源为例子,具体说明使用步骤:

在Spring配置文件中利用@Profile声明开发环境和生产环境使用的数据源:

@Configuration
public class DataSourceConfig {
    @Bean(name="dataSource") //重写BeanID
    @Profile("dev") //配置开发环境使用的数据源
    public DataSource dataSourceForDev() {
        DruidDataSource dataSource = new DruidDataSource();
        ...
        return dataSource; 
    }
    @Bean(name="dataSource")//重写BeanID
    @Profile("production")//配置生产环境使用的数据源
    public DataSource dataSourceForProd() {
        DruidDataSource dataSource = new DruidDataSource();
        ...
        return dataSource;
    }
}

其中“dev”表示开发环境,“production”表示生产环境,显然有两个BeanID是“dataSource”的数据源Bean对象,这两个对象不会同时初始化,Spring会根据激活的Profile属性初始化其中一个数据源Bean对象。
使用如下启动命令参数-Dspring.profiles.active=dev就可以设置当前激活的Profile是发环境“dev”,此时Spring会初始化属于开发环境的数据源Bean对象:

java -Dspring.profiles.active=dev -jar demo.jar

或者在SpringBoot的启动类中使用系统属性设置激活的Profile:

System.setProperty("spring.profiles.active" , "dev"); SpringApplication.run(AppConfig.class);

在测试时候可以使用 @ActiveProfiles注解设置当前激活的Profile。

上一篇:Java项目Guava包 HashMultimap使用及注意事项

栏    目:JAVA代码

下一篇:java 多线程与并发之volatile详解分析

本文标题:Java之Spring认证使用Profile配置运行环境讲解

本文地址:http://www.codeinn.net/misctech/222933.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有