说明

  Profile为在不同环境下使用不同的配置提供了支持(开发环境下的配置和生产环境下的配置肯定是不同的, 例如, 数据库的配置) 。 在spring开发中用@Profile 注解使用来选择行配置系统属性。而在spring boot 中使用跟方便。

传统的spring Profile使用

  参考《javaEE 发开的颠覆者》主要结合 @Configuration  @Bean 注解使用 如下代码 :

@Configuration  //声明注解类
public class ProfileConfig {
@Bean
@Profile("dev") //1
public DemoBean devDemoBean() {
return new DemoBean("from development profile");
}
@Bean
@Profile("prod") //2
public DemoBean prodDemoBean() {
return new DemoBean("from production profile");
}
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext context =
new AnnotationConfigApplicationContext();
context.getEnvironment().setActiveProfiles("prod"); //1 获取容器注入环境配置 ,prodDemoBean 方法,如果设置的是“Ddev” 运行DevDemoBean方法 。
context.register(ProfileConfig.class);//2
context.refresh(); //3
DemoBean demoBean = context.getBean(DemoBean.class);
System.out.println(demoBean.getContent());
context.close();
}
}

spring boot 方法中使用:

  对不同环境提供不同配置功能的支持,可以通过激活、指定参数等方式快速切换环境

  1、多profile文件形式:application-{profile}.properties/yml

    spring 的配置文件有两种形式 一种是properties  文件 ,一种是 yaml 文件 ,不管哪一种都可以用文件命名的形式区分不同环境的配置 如:

    开发环境 :application-dev.properties

    生产环境:application-prod.properties
       然后在 application.properties 文件中激活,当前的环境 :spring.frofiles.active = dev ,激活开发环境

  2.多profile文档块模式:  这个只针对yml文件格式 ,方便写在一个文件中 ,如下图

  

  3.激活方式:
    – 命令行 --spring.profiles.active=dev
    – 配置文件 spring.profiles.active=dev 
    – jvm参数 –Dspring.profiles.active=dev

    

spring Profile 为不同环境提供不同的配置支持的更多相关文章

  1. Maven 整合 spring profile实现多环境自动切换

    Maven 整合 spring profile实现多环境自动切换 时间:2014-03-19 15:32来源:Internet 作者:Internet 点击:525次 profile主要用在项目多环境 ...

  2. 使用spring profile实现多环境切换

    第一步: applicationContext.xml <!--环境配置开始--> <beans profile="production"> <con ...

  3. Maven+Spring Profile实现生产环境和开发环境的切换

    第一步 Maven Profile配置 <profiles> <profile> <id>postgres</id> <activation> ...

  4. Spring Boot入门(二):使用Profile实现多环境配置管理&如何获取配置文件值

    在上一篇博客Spring Boot入门(一):使用IDEA创建Spring Boot项目并使用yaml配置文件中,我们新建了一个最原始的Spring Boot项目,并使用了更为流行的yaml配置文件. ...

  5. 通过Spring profile方式实现多环境部署

    1 多环境部署 在实际软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行.例如,各个环境数据库地址不同,需要单独配置.spring高级装备中提供profile,来支持多环境部署. 1.1 ...

  6. Spring.profile配合Jenkins发布War包,实现开发、测试和生产环境的按需切换

    前两篇不错 Spring.profile实现开发.测试和生产环境的配置和切换 - Strugglion - 博客园https://www.cnblogs.com/strugglion/p/709102 ...

  7. Spring.profile实现开发、测试和生产环境的配置和切换

    软件开发过程一般涉及“开发 -> 测试 -> 部署上线”多个阶段,每个阶段的环境的配置参数会有不同,如数据源,文件路径等.为避免每次切换环境时都要进行参数配置等繁琐的操作,可以通过spri ...

  8. Spring 环境与profile(三)——利用maven的resources、filter和profile实现不同环境使用不同配置文件

    基本概念 profiles定义了各个环境的变量id filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profile中定义的值 resources中是定义哪些目录下的文件会被配置文 ...

  9. maven学习(下)利用Profile构建不同环境的部署包

    接上回继续,项目开发好以后,通常要在多个环境部署,象我们公司多达5种环境:本机环境(local).(开发小组内自测的)开发环境(dev).(提供给测试团队的)测试环境(test).预发布环境(pre) ...

随机推荐

  1. 『学了就忘』Linux基础命令 — 36、查看系统痕迹相关命令

    目录 1.w命令 2.who命令 3.last命令 4.lastlog命令 5.lastb命令 系统中有一些重要的痕迹日志文件,如/var/log/wtmp./var/run/utmp./var/lo ...

  2. python nose测试框架全面介绍十四 --- nose中的只跑上次失败用例

    玩过一段时间nose的朋友,一定会发现nose中有一个--failed的功能,官方解释为: --failed Run the tests that failed in the last test ru ...

  3. vue项目部署到docker中

    通过nginx镜像部署 vue项目npm run build打包成dist目录,有的打包会加上版本号 启动 docker 将dist目录通过xftp拷贝到linux服务器上,同目录下新建Dockerf ...

  4. Part 31 AngularJS page refresh problem

    What is the issue : When you navigate to http://localhost/students, you will see list of students as ...

  5. CentOS 设置网络及安装 ifconfig

    centos使用yum报错"Could not resolve host: mirrorlist.centos.org; 未知的错误" 先用NetworkManager包的nmcl ...

  6. SpringCloud升级之路2020.0.x版-38. 实现自定义 WebClient 的 NamedContextFactory

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 实现 WeClient 的 NamedContextFactory 我们要实现的是不同微服 ...

  7. [atARC121E]Directed Tree

    令$b_{a_{i}}=i$,那么问题即要求$i$不是$b_{i}$的祖先,也即$b_{i}$不严格在$i$的子树中 显然$a_{i}$和$b_{i}$一一对应,因此我们不妨统计$b_{i}$的个数 ...

  8. 雇工模式(Employee Pattern)

    本文节选自<设计模式就该这样学> 1 雇工模式的定义 雇工模式(Employee Pattern)也叫作仆人模式(Servant Pattern),属于行为型设计模式,它为一组类提供通用的 ...

  9. 小白都能看懂的 Spring 源码揭秘之依赖注入(DI)源码分析

    目录 前言 依赖注入的入口方法 依赖注入流程分析 AbstractBeanFactory#getBean AbstractBeanFactory#doGetBean AbstractAutowireC ...

  10. Java培训班学员如何找工作?如何过试用期?

    在本文里,首先将结合我了解的多家培训班辅导学员就业的情况,来讲讲培训班学员如何高效找工作.由于本人在周末会兼职在培训班讲课,也帮助过不少学员成功入职,所以下文还会给出"培训班学员如何快速适应 ...