在我的应用程序中,我有用@Profile("prod")
和@Profile("demo")
注释的bean。第一个,你可以猜到:),用于连接到生产数据库的bean,第二个注释使用一些假数据库(HashMap
或其他任何东西)的bean,以使开发更快。
我想要的是默认配置文件("prod"
),如果它不被"某物"覆盖,它将始终使用。
在我的网站上有一个完美的选择。xml
:
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>prod</param-value>
</context-param>
然后用-Dspring.profiles.active="demo"
覆盖它,这样我就可以:
mvn jetty:run -Dspring.profiles.active="demo".
但可悲的是,这是行不通的。你知道我怎么能做到吗?设置-Dspring。简介。active=“prod”
在我的所有环境中都不是一个选项。
我也有同样的问题,但我使用WebApplicationInitializer以编程方式配置ServletContext(Servlet3.0)。因此,我做了以下工作:
public class WebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext sc) throws ServletException {
// Create the 'root' Spring application context
final AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
// Default active profiles can be overridden by the environment variable 'SPRING_PROFILES_ACTIVE'
rootContext.getEnvironment().setDefaultProfiles("prod");
rootContext.register(AppConfig.class);
// Manage the lifecycle of the root application context
sc.addListener(new ContextLoaderListener(rootContext));
}
}
我的经验是使用
@Profile("default")
只有当没有其他配置文件被标识时,bean才会被添加到上下文中。如果传入不同的配置文件,例如-Dspring.profiles.active="demo"
,则忽略此配置文件。
将生产环境定义为web中的默认配置文件。xml
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>prod</param-value>
</context-param>
如果您想使用不同的配置文件,请将其作为系统属性传递
mvn -Dspring.profiles.active="demo" jetty:run
问题内容: 在我的应用程序中,我有用和注释的bean 。您可能会猜到:)第一个用于连接到生产数据库的bean,第二个注释使用伪造的DB(或其他)的bean,以加快开发速度。 我想要的是默认配置文件(),如果未被“ something-else ” 覆盖,它将始终使用。 完美将是在我的: 然后用覆盖它,这样我就可以做到: 但是可悲的是这是行不通的。知道我怎么能做到吗?我无法在所有环境上进行设置。 问
主要内容:默认配置文件,示例通常情况下,Spring Boot 在启动时会将 resources 目录下的 application.properties 或 apllication.yml 作为其默认配置文件,我们可以在该配置文件中对项目进行配置,但这并不意味着 Spring Boot 项目中只能存在一个 application.properties 或 application.yml。 默认配置文件 Spring Boot
与Jquery Mobile自动初始化共同协作 Working with Jquery Mobile's Auto-initialization 不像其他的Jq项目,比如jq和jq ui,Jquery Mobile会在加载到增强特性时马上应用它(远早于document.ready事件发生时)。这些特性会基于Jquery Mobile的默认配置应用,是针对默认的情形设计的,他可能符合你的需求,也可能
上一小节讲到,DispatcherServlet维护了一个列表,其中保存了其所依赖的所有bean的默认实现。这个列表保存在包org.springframework.web.servlet下的DispatcherServlet.properties文件中。 这些特殊的bean都有一些基本的默认行为。或早或晚,你可能需要对它们提供的一些默认配置进行定制。比如说,通常你需要配置InternalResou
如果未设置,我希望默认活动配置文件为。 Spring-boot版本=1.3.5。发行版
问题内容: 我正在通过映射配置文件配置Hibernate。 如何设置为可为空,默认为null? 问题答案: