org.springframework.context.annotation.AnnotationConfigApplicationContext.setEnvironment()方法的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(13.1k)|赞(0)|评价(0)|浏览(110)

本文整理了Java中org.springframework.context.annotation.AnnotationConfigApplicationContext.setEnvironment()方法的一些代码示例,展示了AnnotationConfigApplicationContext.setEnvironment()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AnnotationConfigApplicationContext.setEnvironment()方法的具体详情如下:
包路径:org.springframework.context.annotation.AnnotationConfigApplicationContext
类名称:AnnotationConfigApplicationContext
方法名:setEnvironment

AnnotationConfigApplicationContext.setEnvironment介绍

[英]Propagates the given custom Environment to the underlying AnnotatedBeanDefinitionReader and ClassPathBeanDefinitionScanner.
[中]将给定的自定义环境传播到底层AnnotatedBeanDefinitionReader和ClassPathBeanDefinitionScanner。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Test
public void annotationConfigApplicationContext_withPojos() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  assertHasStandardEnvironment(ctx);
  ctx.setEnvironment(prodEnv);
  ctx.register(EnvironmentAwareBean.class);
  ctx.refresh();
  assertEnvironmentAwareInvoked(ctx, prodEnv);
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void annotationConfigApplicationContext_withProdEnvAndProdConfigClass() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  assertHasStandardEnvironment(ctx);
  ctx.setEnvironment(prodEnv);
  ctx.register(ProdConfig.class);
  ctx.refresh();
  assertThat("should have prod bean", ctx.containsBean(PROD_BEAN_NAME), is(true));
}

代码示例来源:origin: spring-projects/spring-framework

private void testProfileExpression(boolean expected, String... activeProfiles) {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  StandardEnvironment environment = new StandardEnvironment();
  environment.setActiveProfiles(activeProfiles);
  ctx.setEnvironment(environment);
  ctx.register(ProfileExpressionConfig.class);
  ctx.refresh();
  assertThat("wrong presence of expression bean",
      ctx.containsBean("expressionBean"), is(expected));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void mostSpecificDerivedClassDrivesEnvironment_withDevEnvAndDerivedDevConfigClass() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.setEnvironment(devEnv);
  ctx.register(DerivedDevConfig.class);
  ctx.refresh();
  assertThat("should not have dev bean", ctx.containsBean(DEV_BEAN_NAME), is(false));
  assertThat("should not have derived dev bean", ctx.containsBean(DERIVED_DEV_BEAN_NAME), is(false));
  assertThat("should not have transitive bean", ctx.containsBean(TRANSITIVE_BEAN_NAME), is(false));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void annotationConfigApplicationContext_withDevEnvAndDevConfigClass() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  assertHasStandardEnvironment(ctx);
  ctx.setEnvironment(devEnv);
  ctx.register(DevConfig.class);
  ctx.refresh();
  assertThat("should have dev bean", ctx.containsBean(DEV_BEAN_NAME), is(true));
  assertThat("should have transitive bean", ctx.containsBean(TRANSITIVE_BEAN_NAME), is(true));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void annotationConfigApplicationContext_withProdEnvAndDevConfigClass() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  assertHasStandardEnvironment(ctx);
  ctx.setEnvironment(prodEnv);
  ctx.register(DevConfig.class);
  ctx.refresh();
  assertThat("should not have dev bean", ctx.containsBean(DEV_BEAN_NAME), is(false));
  assertThat("should not have transitive bean", ctx.containsBean(TRANSITIVE_BEAN_NAME), is(false));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void mostSpecificDerivedClassDrivesEnvironment_withDerivedDevEnvAndDerivedDevConfigClass() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  StandardEnvironment derivedDevEnv = new StandardEnvironment();
  derivedDevEnv.setActiveProfiles(DERIVED_DEV_ENV_NAME);
  ctx.setEnvironment(derivedDevEnv);
  ctx.register(DerivedDevConfig.class);
  ctx.refresh();
  assertThat("should have dev bean", ctx.containsBean(DEV_BEAN_NAME), is(true));
  assertThat("should have derived dev bean", ctx.containsBean(DERIVED_DEV_BEAN_NAME), is(true));
  assertThat("should have transitive bean", ctx.containsBean(TRANSITIVE_BEAN_NAME), is(true));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void annotationConfigApplicationContext_withImportedConfigClasses() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  assertHasStandardEnvironment(ctx);
  ctx.setEnvironment(prodEnv);
  ctx.register(Config.class);
  ctx.refresh();
  assertEnvironmentAwareInvoked(ctx, prodEnv);
  assertThat("should have prod bean", ctx.containsBean(PROD_BEAN_NAME), is(true));
  assertThat("should not have dev bean", ctx.containsBean(DEV_BEAN_NAME), is(false));
  assertThat("should not have transitive bean", ctx.containsBean(TRANSITIVE_BEAN_NAME), is(false));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testPlaceholderBased() throws Exception {
  MockEnvironment env = new MockEnvironment();
  env.setProperty("serverName", "server");
  AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
  context.setEnvironment(env);
  context.register(PlaceholderBasedConfiguration.class);
  context.refresh();
  this.ctx = context;
  validateAnnotationTestBean();
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void beanConditionOn() {
  AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
  ctx.setEnvironment(new MockEnvironment().withProperty("bar.enabled", "true"));
  ctx.register(BeanConditionConfig.class);
  ctx.refresh();
  this.context = ctx;
  FooService service = this.context.getBean(FooService.class);
  Cache cache = getCache();
  Object key = new Object();
  Object value = service.getWithCondition(key);
  assertCacheHit(key, value, cache);
  value = service.getWithCondition(key);
  assertCacheHit(key, value, cache);
  assertEquals(2, this.context.getBean(BeanConditionConfig.Bar.class).count);
}

代码示例来源:origin: spring-projects/spring-session

@Test
public void resolveTableNameByPropertyPlaceholder() {
  this.context.setEnvironment(new MockEnvironment()
      .withProperty("session.jdbc.tableName", "custom_session_table"));
  registerAndRefresh(DataSourceConfiguration.class,
      CustomJdbcHttpSessionConfiguration.class);
  JdbcHttpSessionConfiguration configuration = this.context
      .getBean(JdbcHttpSessionConfiguration.class);
  assertThat(ReflectionTestUtils.getField(configuration, "tableName"))
      .isEqualTo("custom_session_table");
}

代码示例来源:origin: spring-projects/spring-session

@Test
public void resolveValueByPlaceholder() {
  this.context.setEnvironment(new MockEnvironment()
      .withProperty("session.redis.namespace", "customRedisNamespace"));
  registerAndRefresh(RedisConfig.class, PropertySourceConfiguration.class,
      CustomRedisHttpSessionConfiguration2.class);
  RedisHttpSessionConfiguration configuration = this.context
      .getBean(RedisHttpSessionConfiguration.class);
  assertThat(ReflectionTestUtils.getField(configuration, "redisNamespace"))
      .isEqualTo("customRedisNamespace");
}

代码示例来源:origin: gravitee-io/gravitee-gateway

AbstractApplicationContext createApplicationContext(Api api) {
  AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
  context.setParent(gatewayApplicationContext);
  context.setClassLoader(new ReactorHandlerClassLoader(gatewayApplicationContext.getClassLoader()));
  context.setEnvironment((ConfigurableEnvironment) gatewayApplicationContext.getEnvironment());
  PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
  configurer.setIgnoreUnresolvablePlaceholders(true);
  configurer.setEnvironment(gatewayApplicationContext.getEnvironment());
  context.addBeanFactoryPostProcessor(configurer);
  context.getBeanFactory().registerSingleton("api", api);
  context.register(ApiHandlerConfiguration.class);
  context.setId("context-api-" + api.getId());
  context.refresh();
  return context;
}

代码示例来源:origin: Netflix/metacat

/**
 * Constructor.
 *
 * @param connectorInfoConverter connector info converter
 * @param connectorContext       connector related config
 */
public SpringConnectorFactory(final ConnectorInfoConverter connectorInfoConverter,
               final ConnectorContext connectorContext) {
  this.catalogName = connectorContext.getCatalogName();
  this.catalogShardName = connectorContext.getCatalogShardName();
  this.ctx = new AnnotationConfigApplicationContext();
  this.ctx.setEnvironment(new StandardEnvironment());
  this.ctx.getBeanFactory().registerSingleton("ConnectorContext", connectorContext);
  this.ctx.getBeanFactory().registerSingleton("ConnectorInfoConverter", connectorInfoConverter);
}

代码示例来源:origin: com.netflix.metacat/metacat-common-server

/**
 * Constructor.
 *
 * @param connectorInfoConverter connector info converter
 * @param connectorContext       connector related config
 */
public SpringConnectorFactory(final ConnectorInfoConverter connectorInfoConverter,
               final ConnectorContext connectorContext) {
  this.catalogName = connectorContext.getCatalogName();
  this.catalogShardName = connectorContext.getCatalogShardName();
  this.ctx = new AnnotationConfigApplicationContext();
  this.ctx.setEnvironment(new StandardEnvironment());
  this.ctx.getBeanFactory().registerSingleton("ConnectorContext", connectorContext);
  this.ctx.getBeanFactory().registerSingleton("ConnectorInfoConverter", connectorInfoConverter);
}

代码示例来源:origin: com.intoverflow.booster/booster-core

appContext.setEnvironment(new StandardServletEnvironment());
appContext.addBeanFactoryPostProcessor(beanFactory -> {
  PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();

代码示例来源:origin: org.springframework.cloud/spring-cloud-dataflow-server-cloudfoundry-autoconfig

@Override
  public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
    AnnotationConfigApplicationContext applicationContext = null;
    // Create a throwaway AppContext to connect to CC API and assess its version.
    try {
      applicationContext = new AnnotationConfigApplicationContext();
      applicationContext.register(CloudFoundryDeployerAutoConfiguration.EarlyConnectionConfiguration.class);
      applicationContext.setEnvironment(environment); // Inherit current environment
      applicationContext.refresh();

      Version version = applicationContext.getBean(Version.class);
      if (version.lessThan(UnsupportedVersionTaskLauncher.MINIMUM_SUPPORTED_VERSION)) {
        logger.warn("Targeting Cloud Foundry API {}, which is incompatible with TaskLauncher support. Forcing {} to false",
            version, TASKS_KEY);
        environment.getPropertySources().addFirst(new MapPropertySource(TASK_FEATURE_DEACTIVE_PROPERTIES,
            Collections.singletonMap(TASKS_KEY, "false")));
      }
    }
    catch (Exception ignored) { // Might happen in particular in Integration Tests not targeting an actual CF runtime
      logger.warn("Could not connect to Cloud Foundry to probe API version", ignored);
    }
    finally {
      if (applicationContext != null) {
        applicationContext.close();
      }
    }
  }
}

代码示例来源:origin: spring-projects/spring-integration-java-dsl

@SuppressWarnings("unchecked")
private Publisher<Message<?>> doCreatePublisher(ConfigurableEnvironment environment) {
  AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
  applicationContext.register(getConfigClass());
  applicationContext.setEnvironment(environment);
  applicationContext.refresh();
  this.applicationContext = applicationContext;
  return this.applicationContext.getBean(Publisher.class);
}

代码示例来源:origin: io.gravitee.am.gateway.handlers/gravitee-am-gateway-handler

AbstractApplicationContext createApplicationContext(Domain domain) {
  AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
  context.setParent(gatewayApplicationContext);
  context.setClassLoader(new ReactorHandlerClassLoader(gatewayApplicationContext.getClassLoader()));
  context.setEnvironment((ConfigurableEnvironment) gatewayApplicationContext.getEnvironment());
  PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
  configurer.setIgnoreUnresolvablePlaceholders(true);
  configurer.setEnvironment(gatewayApplicationContext.getEnvironment());
  context.addBeanFactoryPostProcessor(configurer);
  context.getBeanFactory().registerSingleton("domain", domain);
  context.register(HandlerConfiguration.class);
  context.setId("context-domain-" + domain.getId());
  context.refresh();
  return context;
}

代码示例来源:origin: gravitee-io/graviteeio-access-management

AbstractApplicationContext createApplicationContext(Domain domain) {
  AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
  context.setParent(gatewayApplicationContext);
  context.setClassLoader(new ReactorHandlerClassLoader(gatewayApplicationContext.getClassLoader()));
  context.setEnvironment((ConfigurableEnvironment) gatewayApplicationContext.getEnvironment());
  PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
  configurer.setIgnoreUnresolvablePlaceholders(true);
  configurer.setEnvironment(gatewayApplicationContext.getEnvironment());
  context.addBeanFactoryPostProcessor(configurer);
  context.getBeanFactory().registerSingleton("domain", domain);
  context.register(HandlerConfiguration.class);
  context.setId("context-domain-" + domain.getId());
  context.refresh();
  return context;
}

相关文章

微信公众号

最新文章

更多

AnnotationConfigApplicationContext类方法