spring3.1版本添加了一个新的特性,支持环境不同环境的bean配置,称为profile; 和maven的profile很像;例子

 //配置文件1
 
    
         
    
 
 //配置文件2 
 
     
         
     
 

 这样我们可以在不同的环境,如beta,local,使用不同的bean和配置;


 问题是如何指定spring加载哪个环境的bean呢?

    1.通过jvm参数 -Dspring.profiles.active=beta

    2.通过系统属性 export spring.profiles.active=production

    3.web.xml

        

web.xml:
 
  dispatcher 
  org.springframework.web.servlet.DispatcherServlet
   
    spring.profiles.active 
    production 
   


大家都知道使用spring-MVC时,通常都会配置成父子容器形式,DispatcherServlet 的init-param 指定环境变量的范围只限于子容器;如果要指定父容器的profile,还是通过1,2来指定。

参考:http://javasplitter.blogspot.hk/2011/06/bean-definition-profiles-and.html

           http://blog.wookets.com/2011/11/spring-31-environment-profile.html