Java Code Examples for org.springframework.context.ConfigurableApplicationContext#getEnvironment()

The following examples show how to use org.springframework.context.ConfigurableApplicationContext#getEnvironment() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AbstractJasyptMojo.java    From jasypt-spring-boot with MIT License 6 votes vote down vote up
@Override
public void execute() throws MojoExecutionException {
    Map<String, Object> defaultProperties = new HashMap<>();
    defaultProperties.put("spring.config.location", "file:./src/main/resources/");

    ConfigurableApplicationContext context = new SpringApplicationBuilder()
            .sources(Application.class)
            .bannerMode(Banner.Mode.OFF)
            .properties(defaultProperties)
            .run();

    this.environment = context.getEnvironment();

    String[] activeProfiles = context.getEnvironment().getActiveProfiles();
    String profiles = activeProfiles.length != 0 ? String.join(",", activeProfiles) : "Default";
    log.info("Active Profiles: {}", profiles);
    StringEncryptor encryptor = context.getBean(StringEncryptor.class);
    run(new EncryptionService(encryptor), context, encryptPrefix, encryptSuffix, decryptPrefix, decryptSuffix);
}
 
Example 2
Source File: AttachedEnvironmentBootstrap.java    From thinking-in-spring-boot-samples with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) {
    ConfigurableApplicationContext context =
            new SpringApplicationBuilder(AttachedEnvironmentBootstrap.class)
                    .web(WebApplicationType.NONE) // 非 Web 应用
                    .properties("relaxed.NAME=小马哥")
                    .run(args);
    // 获取 ConfigurableEnvironment 对象
    ConfigurableEnvironment environment = context.getEnvironment();

    System.out.printf("Environment 获取属性 - 松散方式 relaxed.name :%s , 原始方式 relaxed.NAME :%s\n",
            environment.getProperty("relaxed.name"), environment.getProperty("relaxed.NAME"));

    // 从 Environment 关联的 MutablePropertySources 移除 ConfigurationPropertySourcesPropertySource
    System.out.printf("PropertySource[ %s ] 已从 Environment 中删除!\n",
            environment.getPropertySources().remove("configurationProperties"));

    System.out.printf("Environment 获取属性 - 松散方式 relaxed.name :%s , 原始方式 relaxed.NAME :%s\n",
            environment.getProperty("relaxed.name"), environment.getProperty("relaxed.NAME"));

    // 关闭上下文
    context.close();
}
 
Example 3
Source File: FunctionInvoker.java    From spring-cloud-function with Apache License 2.0 6 votes vote down vote up
private void start() {
	ConfigurableApplicationContext context = SpringApplication.run(FunctionClassUtils.getStartClass());
	Environment environment = context.getEnvironment();
	String functionName = environment.getProperty("spring.cloud.function.definition");
	FunctionCatalog functionCatalog = context.getBean(FunctionCatalog.class);
	this.mapper = context.getBean(ObjectMapper.class);
	this.configureObjectMapper();

	if (logger.isInfoEnabled()) {
		logger.info("Locating function: '" + functionName + "'");
	}

	this.function = functionCatalog.lookup(functionName, "application/json");
	Assert.notNull(this.function, "Failed to lookup function " + functionName);

	if (!StringUtils.hasText(functionName)) {
		FunctionInspector inspector = context.getBean(FunctionInspector.class);
		functionName = inspector.getRegistration(this.function).getNames().toString();
	}

	if (logger.isInfoEnabled()) {
		logger.info("Located function: '" + functionName + "'");
	}
}
 
Example 4
Source File: ExtendPropertySourcesBootstrap.java    From thinking-in-spring-boot-samples with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) {
    ConfigurableApplicationContext context =
            new SpringApplicationBuilder(ExtendPropertySourcesBootstrap.class)
                    .web(WebApplicationType.NONE) // 非 Web 应用
                    .run(args);

    // 获取 Environment
    ConfigurableEnvironment environment = context.getEnvironment();
    // 加载 META-INF/runtime.properties 配置文件
    ResourcePropertySource propertySource = PropertySourceUtils.getResourcePropertySource("META-INF/runtime.properties");
    // 追加至 PropertySources 顶端
    environment.getPropertySources().addFirst(propertySource);
    // 读取 user.name 属性内容
    System.out.println("从 Environment 读取属性 user.name = " + environment.getProperty("user.name"));
    System.out.println("Environment 所有 PropertySource : ");

    environment.getPropertySources().forEach(source -> {
        System.out.printf("\t %s\n", source);
    });
    // 关闭上下文
    context.close();
}
 
Example 5
Source File: OauthApplication.java    From zuihou-admin-cloud with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws UnknownHostException {
    ConfigurableApplicationContext application = SpringApplication.run(OauthApplication.class, args);
    Environment env = application.getEnvironment();
    log.info("\n----------------------------------------------------------\n\t" +
                    "应用 '{}' 运行成功! 访问连接:\n\t" +
                    "Swagger文档: \t\thttp://{}:{}/doc.html\n\t" +
                    "数据库监控: \t\thttp://{}:{}/druid\n" +
                    "----------------------------------------------------------",
            env.getProperty("spring.application.name"),
            InetAddress.getLocalHost().getHostAddress(),
            env.getProperty("server.port"),
            "127.0.0.1",
            env.getProperty("server.port"));
}
 
Example 6
Source File: JeewxBootApplication.java    From jeewx-boot with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws UnknownHostException {
	ConfigurableApplicationContext application = SpringApplication.run(JeewxBootApplication.class, args);
    Environment env = application.getEnvironment();
    String ip = InetAddress.getLocalHost().getHostAddress();
    String port = env.getProperty("server.port");
    String path = env.getProperty("server.servlet.context-path");
    log.info("\n----------------------------------------------------------\n\t" +
        "Application Jeewx-Boot is running! Access URLs:\n\t" +
        "Local: \t\thttp://localhost:" + port + path + "/\n\t" +
        "External: \thttp://" + ip + ":" + port + path + "/\n\t" +
        "----------------------------------------------------------");
}
 
Example 7
Source File: LogbackIntegrationTest.java    From sofa-common-tools with Apache License 2.0 5 votes vote down vote up
/**
 * test space config override global config
 * @throws IOException
 */
@Test
public void testSpaceOverrideGlobalConfig() throws IOException {
    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put(Constants.SOFA_MIDDLEWARE_ALL_LOG_CONSOLE_SWITCH, "true");
    properties.put(Constants.SOFA_MIDDLEWARE_ALL_LOG_CONSOLE_LEVEL, "debug");
    properties
        .put(String.format(Constants.SOFA_MIDDLEWARE_SINGLE_LOG_CONSOLE_SWITCH, TEST_SPACE),
            "false");
    properties.put(
        String.format(Constants.SOFA_MIDDLEWARE_SINGLE_LOG_CONSOLE_LEVEL, TEST_SPACE), "info");

    SpringApplication springApplication = new SpringApplication(EmptyConfig.class);
    springApplication.setDefaultProperties(properties);
    springApplication.run(new String[] {});
    ConfigurableApplicationContext applicationContext = springApplication.run(new String[] {});
    Environment environment = applicationContext.getEnvironment();
    File logFile = getLogbackDefaultFile(environment);
    FileUtils.write(logFile, StringUtil.EMPTY_STRING,
        environment.getProperty(Constants.LOG_ENCODING_PROP_KEY));
    logger.info("info level");
    logger.debug("debug level");
    List<String> contents = FileUtils.readLines(logFile,
        environment.getProperty(Constants.LOG_ENCODING_PROP_KEY));
    Assert.assertEquals(1, contents.size());
    Assert.assertTrue(contents.get(0).contains("info level"));
    Assert.assertFalse(outContent.toString().contains("info level"));
    Assert.assertFalse(outContent.toString().contains("debug level"));
    LogEnvUtils.processGlobalSystemLogProperties().remove(
        Constants.SOFA_MIDDLEWARE_ALL_LOG_CONSOLE_SWITCH);
    LogEnvUtils.processGlobalSystemLogProperties().remove(
        Constants.SOFA_MIDDLEWARE_ALL_LOG_CONSOLE_LEVEL);
    LogEnvUtils.processGlobalSystemLogProperties().remove(
        String.format(Constants.SOFA_MIDDLEWARE_SINGLE_LOG_CONSOLE_SWITCH, TEST_SPACE));
    LogEnvUtils.processGlobalSystemLogProperties().remove(
        String.format(Constants.SOFA_MIDDLEWARE_SINGLE_LOG_CONSOLE_LEVEL, TEST_SPACE));
}
 
Example 8
Source File: ApplicationLoggerInitializer.java    From albedo with GNU Lesser General Public License v3.0 5 votes vote down vote up
@Override
	public void initialize(ConfigurableApplicationContext applicationContext) {
		ConfigurableEnvironment environment = applicationContext.getEnvironment();

		String logPath = environment.getProperty("application.logPath");
		String applicationName = environment.getProperty("spring.application.name");

//		String logBase = environment.getProperty("LOGGING_PATH", "logs");
		// spring boot sys 直接加载日志
		System.setProperty("logging.file", String.format("%s/%s/debug.log", logPath, applicationName));
	}
 
Example 9
Source File: SpringApplicationJsonPropertySourceBootstrap.java    From thinking-in-spring-boot-samples with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    ConfigurableApplicationContext context =
            new SpringApplicationBuilder(
                    SpringApplicationJsonPropertySourceBootstrap.class)
                    // SpringApplication Properties 设置 JSON内容(优先级最低)
                    .properties("spring.application.json={\"my.name\":\"小马哥\"}")
                    .web(WebApplicationType.NONE) // 非 Web 应用
                    .run(args);

    ConfigurableEnvironment environment = context.getEnvironment();
    // 读取 spring.application.json 属性
    System.out.println("my.name = " + environment.getProperty("my.name"));
    // 关闭上下文
    context.close();
}
 
Example 10
Source File: PrintApplicationInfo.java    From spring-boot-plus with Apache License 2.0 5 votes vote down vote up
/**
 * 执行之前,打印前置条件提示
 */
public static void printTip(ConfigurableApplicationContext context) {
    ConfigurableEnvironment environment = context.getEnvironment();
    // 项目profile
    String profileActive = environment.getProperty("spring.profiles.active");
    StringBuffer tip = new StringBuffer();
    tip.append("===========================================================================================\n");
    tip.append("                                                                                  \n");
    tip.append("                               !!!准备工作!!!                                      \n");
    tip.append(" 1.导入SQL初始化脚本:docs/db,根据不同数据库导入对应SQL脚本并修改链接等信息配置\n");
    tip.append(" 2.启动Redis服务,必要条件\n");
    tip.append(" 3.启动SpringBootAdmin Server,可选操作,admin模块中,启动SpringBootPlusAdminApplication\n");
    tip.append(" 4.根据项目需要,修改项目配置,请先查看官网配置文档:https://springboot.plus/config/\n");
    tip.append(" 5.项目模块说明:\n");
    tip.append("    admin:       SpringBootAdmin Server启动模块\n");
    tip.append("    bootstrap:   项目启动模块\n");
    tip.append("    config:      项目配置模块\n");
    tip.append("    distribution:项目打包模块,打包时,请先选中Maven Profiles中的release和对应环境\n");
    tip.append("    example:     业务自定义模块,自己的业务代码可在example下进行,也可以再创建模块\n");
    tip.append("    framework:   项目核心框架模块\n");
    tip.append("    generator:   代码生成模块,启动类:SpringBootPlusGenerator,请根据实际情况进行配置\n");
    tip.append("    scheduled:   任务调度模块\n");
    tip.append("    system:      系统管理模块\n");
    tip.append(" 6.FAQ:https://springboot.plus/faq\n");
    tip.append(" 7.如开发中遇到bug及问题,欢迎提交ISSUES:https://github.com/geekidea/spring-boot-plus/issues\n");
    tip.append(" 8.QQ:625301326,进群答案:springboot.plus\n");
    tip.append("                                                                                  \n");
    tip.append("===========================================================================================\n");
    if ("dev".equals(profileActive)) {
        log.info("\n{}", Ansi.ansi().eraseScreen().fg(Ansi.Color.YELLOW).a(tip.toString()).reset().toString());
    }
}
 
Example 11
Source File: CustomerApplicationContextInitializer.java    From cloud-espm-cloud-native with Apache License 2.0 5 votes vote down vote up
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
	ConfigurableEnvironment applicationEnvironment = applicationContext.getEnvironment();
	Cloud cloud = getCloud();
	if (cloud != null) {
		applicationEnvironment.addActiveProfile("cloud");

	} else {
		applicationEnvironment.addActiveProfile("local");
	}

}
 
Example 12
Source File: ProductApplication.java    From code with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws UnknownHostException {
    ConfigurableApplicationContext application = SpringApplication.run(ProductApplication.class, args);
    Environment env = application.getEnvironment();
    String ip = InetAddress.getLocalHost().getHostAddress();
    String port = env.getProperty("server.port")==null?"":env.getProperty("server.port");
    String path = env.getProperty("server.servlet.context-path")==null?"":env.getProperty("server.servlet.context-path");
    log.info("\n----------------------------------------------------------\n\t" +
            "Application hotel-query-service is running! Access URLs:\n\t" +
            "Local: \t\thttp://localhost:" + port + path + "/\n\t" +
            "External: \thttp://" + ip + ":" + port + path + "/\n\t" +
            "swagger-ui: \thttp://" + ip + ":" + port + path + "/swagger-ui.html\n\t" +
            "----------------------------------------------------------");
}
 
Example 13
Source File: PropertyMaskingContextInitializer.java    From spring-cloud-services-connector with Apache License 2.0 5 votes vote down vote up
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
	ConfigurableEnvironment environment = applicationContext.getEnvironment();
	MutablePropertySources propertySources = environment.getPropertySources();

	String[] defaultKeys = {"password", "secret", "key", "token", ".*credentials.*", "vcap_services"};
	Set<String> propertiesToSanitize = Stream.of(defaultKeys)
											 .collect(Collectors.toSet());

	PropertySource<?> bootstrapProperties = propertySources.get(BOOTSTRAP_PROPERTY_SOURCE_NAME);
	Set<PropertySource<?>> bootstrapNestedPropertySources = new HashSet<>();
	Set<PropertySource<?>> configServiceNestedPropertySources = new HashSet<>();

	if (bootstrapProperties != null && bootstrapProperties instanceof CompositePropertySource) {
		bootstrapNestedPropertySources.addAll(((CompositePropertySource) bootstrapProperties).getPropertySources());
	}
	for (PropertySource<?> nestedProperty : bootstrapNestedPropertySources) {
		if (nestedProperty.getName().equals(CONFIG_SERVICE_PROPERTY_SOURCE_NAME)) {
			configServiceNestedPropertySources.addAll(((CompositePropertySource) nestedProperty).getPropertySources());
		}
	}

	Stream<String> vaultKeyNameStream =
			configServiceNestedPropertySources.stream()
											  .filter(ps -> ps instanceof EnumerablePropertySource)
											  .filter(ps -> ps.getName().startsWith(VAULT_PROPERTY_PATTERN) || ps.getName().startsWith(CREDHUB_PROPERTY_PATTERN))
											  .map(ps -> ((EnumerablePropertySource) ps).getPropertyNames())
											  .flatMap(Arrays::<String>stream);

	propertiesToSanitize.addAll(vaultKeyNameStream.collect(Collectors.toSet()));

	PropertiesPropertySource envKeysToSanitize =
			new PropertiesPropertySource(
					SANITIZE_ENV_KEY, mergeClientProperties(propertySources, propertiesToSanitize));

	environment.getPropertySources().addFirst(envKeysToSanitize);
	applicationContext.setEnvironment(environment);

}
 
Example 14
Source File: NacosConfigApplicationContextInitializer.java    From nacos-spring-boot-project with Apache License 2.0 5 votes vote down vote up
@Override
public void initialize(ConfigurableApplicationContext context) {
	singleton.setApplicationContext(context);
	environment = context.getEnvironment();
	nacosConfigProperties = NacosConfigPropertiesUtils
			.buildNacosConfigProperties(environment);
	final NacosConfigLoader configLoader = new NacosConfigLoader(
			nacosConfigProperties, environment, builder);
	if (!enable()) {
		logger.info("[Nacos Config Boot] : The preload configuration is not enabled");
	}
	else {

		// If it opens the log level loading directly will cache
		// DeferNacosPropertySource release

		if (processor.enable()) {
			processor.publishDeferService(context);
			configLoader
					.addListenerIfAutoRefreshed(processor.getDeferPropertySources());
		}
		else {
			configLoader.loadConfig();
			configLoader.addListenerIfAutoRefreshed();
		}
	}

	final ConfigurableListableBeanFactory factory = context.getBeanFactory();
	if (!factory
			.containsSingleton(NacosBeanUtils.GLOBAL_NACOS_PROPERTIES_BEAN_NAME)) {
		factory.registerSingleton(NacosBeanUtils.GLOBAL_NACOS_PROPERTIES_BEAN_NAME,
				configLoader.buildGlobalNacosProperties());
	}
}
 
Example 15
Source File: WebAnnoApplicationContextInitializer.java    From webanno with Apache License 2.0 5 votes vote down vote up
@Override
public void initialize(ConfigurableApplicationContext aApplicationContext)
{
    ConfigurableEnvironment aEnvironment = aApplicationContext.getEnvironment();

    File settings = SettingsUtil.getSettingsFile();
    
    // If settings were found, add them to the environment
    if (settings != null) {
        log.info("Settings: " + settings);
        try {
            aEnvironment.getPropertySources().addFirst(
                    new ResourcePropertySource(new FileSystemResource(settings)));
        }
        catch (IOException e) {
            throw new IllegalStateException(e);
        }
    }

    // Activate bean profile depending on authentication mode
    if (AUTH_MODE_PREAUTH.equals(aEnvironment.getProperty(SettingsUtil.CFG_AUTH_MODE))) {
        aEnvironment.setActiveProfiles(PROFILE_PREAUTH);
        log.info("Authentication: pre-auth");
    }
    else {
        aEnvironment.setActiveProfiles(PROFILE_DATABASE);
        log.info("Authentication: database");
    }
}
 
Example 16
Source File: DemoServerApplication.java    From zuihou-admin-cloud with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws UnknownHostException {
    ConfigurableApplicationContext application = SpringApplication.run(DemoServerApplication.class, args);
    Environment env = application.getEnvironment();
    log.info("\n----------------------------------------------------------\n\t" +
                    "应用 '{}' 运行成功! 访问连接:\n\t" +
                    "Swagger文档: \t\thttp://{}:{}/doc.html\n" +
                    "----------------------------------------------------------",
            env.getProperty("spring.application.name"),
            InetAddress.getLocalHost().getHostAddress(),
            env.getProperty("server.port"));

}
 
Example 17
Source File: AppInitializer.java    From fredbet with Creative Commons Attribution Share Alike 4.0 International 4 votes vote down vote up
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
	final ConfigurableEnvironment environment = applicationContext.getEnvironment();

	LOG.info("Active profiles: {}", Arrays.asList(environment.getActiveProfiles()));
}
 
Example 18
Source File: TraceServiceBSpringBootApplication.java    From log-trace-spring-boot with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    ConfigurableApplicationContext run = SpringApplication.run(TraceServiceBSpringBootApplication.class, args);
    ConfigurableEnvironment environment = run.getEnvironment();
    log.info("启动");
}
 
Example 19
Source File: TraceServiceASpringBootApplication.java    From log-trace-spring-boot with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    ConfigurableApplicationContext run = SpringApplication.run(TraceServiceASpringBootApplication.class, args);
    ConfigurableEnvironment environment = run.getEnvironment();
    log.info("启动");
}
 
Example 20
Source File: TraceServiceA15xSpringBootApplication.java    From log-trace-spring-boot with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    ConfigurableApplicationContext run = SpringApplication.run(TraceServiceA15xSpringBootApplication.class, args);
    ConfigurableEnvironment environment = run.getEnvironment();
    log.info("启动");
}