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

 更新时间:2021年07月30日 09:08:21   作者:长安紫薯  
这篇文章主要介绍了Java之Spring认证使用Profile配置运行环境讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

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之Spring认证使用Profile配置运行环境讲解的文章就介绍到这了,更多相关Java之Spring认证使用Profile配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java组件FileUpload上传文件实现代码

    Java组件FileUpload上传文件实现代码

    这篇文章主要为大家详细介绍了Java组件FileUpload上传文件实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • java emoji表情存储的解决方法

    java emoji表情存储的解决方法

    这篇文章主要为大家详细介绍了java emoji表情存储的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Spring之Environment类的使用方式

    Spring之Environment类的使用方式

    这篇文章主要介绍了Spring之Environment类的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • IDEA设置生成带注释的getter和setter的图文教程

    IDEA设置生成带注释的getter和setter的图文教程

    通常我们用idea默认生成的getter和setter方法是不带注释的,当然,我们同样可以设置idea像MyEclipse一样生成带有Javadoc的模板,具体设置方法,大家参考下本文
    2018-05-05
  • SpringBoot实现使用反射模拟IOC和getBean

    SpringBoot实现使用反射模拟IOC和getBean

    这篇文章主要介绍了SpringBoot实现使用反射模拟IOC和getBean,IOC就是spring的核心思想之一——控制反转。这里不再赘述,看此文章即可了解
    2023-04-04
  • Java程序员的10道常见的XML面试问答题(XML术语详解)

    Java程序员的10道常见的XML面试问答题(XML术语详解)

    包括web开发人员的Java面试在内的各种面试中,XML面试题在各种编程工作的面试中很常见。XML是一种成熟的技术,经常作为从一个平台到其他平台传输数据的标准
    2014-04-04
  • java正则表达式验证工具类

    java正则表达式验证工具类

    这篇文章主要介绍了java正则表达式验证工具类,可以校验电话号码,身份证号码,日期格式,URL,email等等,需要的小伙伴参考下吧。
    2015-03-03
  • SpringBoot读取配置文件常用方法解析

    SpringBoot读取配置文件常用方法解析

    这篇文章主要介绍了SpringBoot读取配置文件常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java 模拟数据库连接池的实现代码

    Java 模拟数据库连接池的实现代码

    这篇文章主要介绍了Java 模拟数据库连接池的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • java高并发情况下高效的随机数生成器

    java高并发情况下高效的随机数生成器

    这篇文章主要介绍了java高并发情况下高效的随机数生成器,对于性能有要求的同学,可以参考下
    2021-04-04

最新评论