`
liusu
  • 浏览: 171350 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring读取系统属性的方法就是先读system.getProperty() 然后再读 System.getenv()

 
阅读更多
这是整个调用的Stacktrace


Thread [main] (Suspended)	
	owns: Object  (id=22)	
	PropertyPlaceholderConfigurer.resolveSystemProperty(String) line: 358	
	PropertyPlaceholderConfigurer.resolvePlaceholder(String, Properties, int) line: 324	
	PropertyPlaceholderConfigurer$PropertyPlaceholderConfigurerResolver.resolvePlaceholder(String) line: 418	
	PropertyPlaceholderHelper.parseStringValue(String, PlaceholderResolver, Set<String>) line: 146	
	PropertyPlaceholderHelper.replacePlaceholders(String, PropertyPlaceholderHelper$PlaceholderResolver) line: 125	
	PropertyPlaceholderConfigurer$PlaceholderResolvingStringValueResolver.resolveStringValue(String) line: 403	
	BeanDefinitionVisitor.resolveStringValue(String) line: 281	
	BeanDefinitionVisitor.resolveValue(Object) line: 202	
	BeanDefinitionVisitor.visitPropertyValues(MutablePropertyValues) line: 140	
	BeanDefinitionVisitor.visitBeanDefinition(BeanDefinition) line: 81	
	PropertyPlaceholderConfigurer.processProperties(ConfigurableListableBeanFactory, Properties) line: 284	
	PropertyPlaceholderConfigurer(PropertyResourceConfigurer).postProcessBeanFactory(ConfigurableListableBeanFactory) line: 75	
	FileSystemXmlApplicationContext(AbstractApplicationContext).invokeBeanFactoryPostProcessors(Collection<BeanFactoryPostProcessor>, ConfigurableListableBeanFactory) line: 663	
	FileSystemXmlApplicationContext(AbstractApplicationContext).invokeBeanFactoryPostProcessors(ConfigurableListableBeanFactory) line: 638	
	FileSystemXmlApplicationContext(AbstractApplicationContext).refresh() line: 407	
	FileSystemXmlApplicationContext.<init>(String[], boolean, ApplicationContext) line: 140	
	FileSystemXmlApplicationContext.<init>(String) line: 84	
	Main.main(String[]) line: 14	
	



这是方法内部, 一清二楚啊。。
	/**
	 * Resolve the given key as JVM system property, and optionally also as
	 * system environment variable if no matching system property has been found.
	 * @param key the placeholder to resolve as system property key
	 * @return the system property value, or <code>null</code> if not found
	 * @see #setSearchSystemEnvironment
	 * @see java.lang.System#getProperty(String)
	 * @see java.lang.System#getenv(String)
	 */
	protected String resolveSystemProperty(String key) {
		try {
			String value = System.getProperty(key);
			if (value == null && this.searchSystemEnvironment) {
				value = System.getenv(key);
			}
			return value;
		}
		catch (Throwable ex) {
			if (logger.isDebugEnabled()) {
				logger.debug("Could not access system property '" + key + "': " + ex);
			}
			return null;
		}
	}
分享到:
评论

相关推荐

    Java中System.getProperty的使用

    在Java编程语言中,`System.getProperty`方法是一个非常实用且重要的功能,用于获取与系统相关的属性信息。这些属性包括但不限于操作系统、Java运行环境版本、安装目录等关键信息,对于理解和调试程序运行环境有着不...

    System.getProperty

    System.getProperty 通过该方法获取系统属性信息 很好

    java项目路径(相关信息)的取得

    `System.getProperty()`是Java提供的一个用于获取系统属性的方法,通过向其传递不同的键值(即系统属性名称),可以获取到相应的系统属性值。这种方法在Java开发中非常实用,尤其是在处理与运行时环境相关的配置信息...

    Java的System.getProperty()方法获取大全

    `System.getProperty()`方法是Java中的一个核心功能,它用于获取Java虚拟机(JVM)和操作系统相关的系统属性。这些属性提供了关于运行Java程序的环境的详细信息,包括Java版本、供应商信息、JRE目录、操作系统详情等...

    intellij idea 设置多module路径.docx

    首先,我们要理解`System.getProperty("user.dir")`这个Java系统属性。它返回的是当前工作目录,也就是Java进程启动时所在的目录。在多module项目中,如果我们希望这个值对应于当前执行的module的根目录,那么我们...

    JAVA获取操作系统名称

    java获取操作系统名称,通过 System.getProperty("os.name") 由于JDK的bug,Windows Server 2012 R2获取到的System.getProperty("os.name") 为 Window NT unknown 因此需要通过JNA(Java Native Access )调用...

    JAVA读取环境变量

    Properties p = sp.getEnv(); System.out.println(p.getProperty("PATH")); // 输出PATH(Linux为PATH,Windows为Path) } catch (Exception e) { System.out.println(e); } } } ``` #### 代码解析 1. **...

    java 实现对当前操作系统的判断

    这主要通过Java的`java.lang.System`类中的`getProperty()`方法实现。这个方法允许我们获取关于Java虚拟机(JVM)及其宿主环境的各种属性,其中包括操作系统的信息。下面我们将深入探讨如何使用Java来判断操作系统...

    读取MIDlet的系统属性

    本文将详细讲解如何在J2ME中读取MIDlet的系统属性,并解释这些属性的含义。 首先,让我们看一个简单的示例代码,该代码创建了一个名为`DetectMIDlet`的MIDlet,它展示了一些关键的系统属性: ```java import javax...

    java log4j统一打印在user.dir目录下(windows、linux通用、不用考虑不同操作系统分隔符不一致的情况)

    这意味着无论在Windows还是Linux系统上,`System.getProperty("user.dir")`都会返回相应的用户工作目录。这样,我们就可以利用这一特性来确保日志文件的路径与操作系统无关。 配置Log4j主要涉及两个文件:`log4j....

    使用System.getProperty(line.separator).md

    这是本人在进行使用递归替换HTML文件中的图片内容时,所遇到的问题解决方案,喜欢能够帮到大家,让自己懂得东西越来愈多,做更多的分享

    java设置http代理

    #### 一、概述 ...此外,还简要介绍了如何通过 `System.getProperties()` 获取 Java 系统属性,这对于理解 Java 环境配置非常有帮助。掌握这些知识点有助于开发者在网络受限的环境下更好地进行开发和测试工作。

    读取properties文件路径的两种方式.zip

    在这个例子中,`Files.newBufferedReader()`方法创建了一个用于读取文件的`BufferedReader`,然后`Properties`类的`load()`方法加载了文件内容。 项目示例中的`demo`部分可能包含了这两个方法的实际代码和运行结果...

    java获取系统参数规格

    System.out.println("操作系统版本:\n" + System.getProperty("os.version")); ``` 返回操作系统版本号,如`10.0`。 #### 15. 获取文件分隔符 ```java System.out.println("文件分隔符:\n" + System.getProperty(...

    Spring Boot技术知识点:如何获取application.yml配置文件里的相关属性(方法1)

    一旦配置类被定义并添加到Spring容器中,我们可以在任何需要的地方注入`CustomProperties`,然后通过getter方法获取属性值: ```java package com.example.service; import com.example.config.CustomProperties; ...

    java读取属性文件

    当读取属性文件或进行其他操作时,如果发生异常,我们会使用`log()`方法记录错误信息。这样,我们可以在`app.log`文件中查看程序运行情况,便于诊断问题。 总之,Java中读取属性文件是通过`Properties`类实现的,...

    J2ME 常用的一些API

    总之,在J2ME开发中,了解和掌握这些系统属性的获取方法对于编写高效、稳定的应用程序至关重要。通过这些信息,开发者可以更好地调整应用程序的行为以适应不同的设备环境,同时也能确保应用能够充分利用现有设备的...

    不同手机获取IMEI get IMEI

    这两种方式都能够获取到MOTO手机的IMEI码,其中`System.getProperty()`方法用于从系统中读取特定属性的值。需要注意的是,这些属性的名称可能会根据不同的MOTO手机型号而有所差异,因此在实际应用中可能需要根据具体...

    Java中通过System.getProperties()获取系统参数测试.docx

    在Java编程中,`System.getProperties()`是一个非常实用的方法,它允许开发者访问和获取当前Java运行环境的各种系统属性。这些属性包含了关于Java运行时环境的重要信息,如版本、供应商等,以及操作系统的一些基本...

Global site tag (gtag.js) - Google Analytics