zoukankan      html  css  js  c++  java
  • spring的环境配置(beans profile="xxx")

    研究spring3的时候发现一个很好用的特性:环境配置(spring2是否有此特性未知)

    官方示例代码如下:

    <!-- app-config.xml -->
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:jee
    ="http://www.springframework.org/schema/jee"
    xsi:schemaLocation
    ="...">
    <bean id="transferService" class="com.bank.service.internal.DefaultTransferService">
    <constructor-arg ref="accountRepository" />
    <constructor-arg ref="feePolicy" />
    </bean>
    <bean id="accountRepository" class="com.bank.repository.internal.JdbcAccountRepository">
    <constructor-arg ref="dataSource" />
    </bean>
    <bean id="feePolicy" class="com.bank.service.internal.ZeroFeePolicy" />
    <beans profile="dev">
    <jdbc:embedded-database id="dataSource">
    <jdbc:script location="classpath:com/bank/config/sql/schema.sql" />
    <jdbc:script location="classpath:com/bank/config/sql/test-data.sql" />
    </jdbc:embedded-database>
    </beans>
    <beans profile="production">
    <jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/datasource" />
    </beans>
    </beans>
    package com.bank.service;

    @RunWith(SpringJUnit4ClassRunner.class)
    // ApplicationContext will be loaded from "classpath:/app-config.xml"
    @ContextConfiguration("/app-config.xml")
    @ActiveProfiles("dev")
    public class TransferServiceTest {
    @Autowired
    private TransferService transferService;

    @Test
    public void testTransferService() {
    // test the transferService
    }
    }

    这个除了可以切换开发、部署环境,也可以方便地切换不同的数据库。实战中我发现这个TestCase还可以被继承,其配置也会被继承,所以我现在的做法是写一个基础TestCase,配置好ContextConfiguration、ActiveProfiles,其他TestCase继承该基础TestCase。

    但是集成到web环境中时,我却很久找不到如何在web.xml中切换这个环境配置,找了很久总算找到了,在web.xml中加入:

    <context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>dev</param-value>
    </context-param>

    经测试已成功,特此记录分享。

  • 相关阅读:
    【流量劫持】SSLStrip 终极版 —— location 瞒天过海
    【流量劫持】沉默中的狂怒 —— Cookie 大喷发
    【流量劫持】SSLStrip 的未来 —— HTTPS 前端劫持
    Web 前端攻防(2014版)
    流量劫持 —— 浮层登录框的隐患
    流量劫持能有多大危害?
    流量劫持是如何产生的?
    XSS 前端防火墙 —— 整装待发
    XSS 前端防火墙 —— 天衣无缝的防护
    XSS 前端防火墙 —— 无懈可击的钩子
  • 原文地址:https://www.cnblogs.com/chanedi/p/2320837.html
Copyright © 2011-2022 走看看