一、前言

本文承接上一节:Spring_总结_03_装配Bean(四)之导入与混合配置

这一节,来总结一下profile。

我们在开发软件时,通常会进行跨环境部署。而在跨环境部署时,经常会遇到某些环境的配置并不适用于另一环境,导致应用无法正常运行。

而profile恰好能解决这个问题。

 

二、概述

Profile 为不同环境下使用不同的配置提供了支持(开发环境下的配置和生成环境下的配置肯定不同,如数据库、加密算法等配置)

 

三、配置 Profile bean

要使用profile,首先要将所有不同的bean定义整理到一个或者多个profile中,在将应用部署到每个环境时,要确保对应的profile处于激活状态。

1.Java配置

使用@Profile注解来指定bean所属的环境

@Configuration
public class DataSourceConfig {

    /**
     * 1.开发环境使用嵌入式数据源
     * @return
     */
    @Bean
    @Profile("dev")
    public DataSource embeddedDataSource(){
        return (DataSource) new EmbeddedDatabaseBuilder()
                .setType(EmbeddedDatabaseType.H2)
                .addScript("classpath:schema.sql")
                .addScript("classpath:test-data.sql")
                .build();
    }


    /**
     * 2.生产环境使用JNDI数据源
     * @return
     */
    @Bean
    @Profile("prod")
    public DataSource jndiDataSource() {
        JndiObjectFactoryBean jndiObjectFactoryBean = new JndiObjectFactoryBean();
        jndiObjectFactoryBean.setJndiName("jdbc/myDS");
        jndiObjectFactoryBean.setResourceRef(true);
        jndiObjectFactoryBean.setProxyInterface(javax.sql.DataSource.class);
        return (DataSource) jndiObjectFactoryBean.getObject();
    }
}
View Code

相关文章:

  • 2022-01-07
  • 2021-08-31
  • 2021-12-03
  • 2021-07-20
  • 2021-07-09
  • 2022-01-18
  • 2021-10-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案