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

The following examples show how to use org.springframework.context.ConfigurableApplicationContext#getEnvironment() . These examples are extracted from open source projects. 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 Project: jasypt-spring-boot   File: AbstractJasyptMojo.java    License: 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
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
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
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 Project: jeewx-boot   File: JeewxBootApplication.java    License: 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 6
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 7
@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 8
@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 9
@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 10
Source Project: code   File: ProductApplication.java    License: 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 11
@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
/**
 * 执行之前,打印前置条件提示
 */
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 13
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 14
@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 15
/**
 * 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 16
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 17
public static void main(String[] args) {
    ConfigurableApplicationContext run = SpringApplication.run(TraceServiceA15xSpringBootApplication.class, args);
    ConfigurableEnvironment environment = run.getEnvironment();
    log.info("启动");
}
 
Example 18
public static void main(String[] args) {
    ConfigurableApplicationContext run = SpringApplication.run(TraceServiceASpringBootApplication.class, args);
    ConfigurableEnvironment environment = run.getEnvironment();
    log.info("启动");
}
 
Example 19
public static void main(String[] args) {
    ConfigurableApplicationContext run = SpringApplication.run(TraceServiceBSpringBootApplication.class, args);
    ConfigurableEnvironment environment = run.getEnvironment();
    log.info("启动");
}
 
Example 20
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
	final ConfigurableEnvironment environment = applicationContext.getEnvironment();

	LOG.info("Active profiles: {}", Arrays.asList(environment.getActiveProfiles()));
}