怎么在eclipse的容器里面添加图片

怎么在eclipse的容器里面添加图片,第1张

一、在项目下新建两个Source Folder,注意不是Folder,一个src,一个res,然后在src下创建程序文件,将图片、声音等资源文件导入到res这个目录里面就可以了。这样在文件结构上就可以把源文件组织在src目录下,而资源文件放在了res目录中了。但是要注意在程序中调用图片时的路径是("/xxxx.png"),而不是("/res/xxxx.png"),因为一般来说source folder默认是加入了项目的java build path的,也就是其实图片放在了\verified\classes的目录下。

二、在项目下新建一个Source Folder(src),然后在src下创建程序文件,同时可以在这里面新建个Package或Folder(res),将图片、声音等资源文件导入到res这个目录里面。这样在文件结构上就可以把源文件组织在src目录下,而资源文件也放在了src目录下里res目录中了。这样在程序中调用图片时的路径就可以是("/res/xxxx.png")了。

三、在项目中把程序创建到src或src.xx.xxx这样的包中,在项目下新建一个res的Package或Folder,将图片、声音等资源文件导入到res这个目录里面。这样在文件结构上就可以把源文件组织在src目录下,而资源文件放在res目录里了。同时在程序中调用图片时的路径也是("/res/xxxx.png")了。

总结:程序中资源的路径是由在\verified\classes下的路径决定的,如果程序在出现资源相关的异常,不妨到这个目录下看看具体的路径情况,以决定是否是路径问题。

自定义配置文件

配置文件名为:project.properties,内容如下:

[html] view plain copy

# 是否开启逻辑删除

project_del.filter.on=false

project_domain=

修改Spring配置文件

之前代码:

[html] view plain copy

<beanidbeanid="propertyConfigurer"

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<propertynamepropertyname="locations">

<list>

<value>classpath:dbinfo.properties</value>

</list>

</property>

</bean>

修改后的配置文件

[html] view plain copy

<beanidbeanid="propertyConfigurer"

class="com.hisun.core.util.CustomizedPropertyPlaceholderConfigurer">

<propertynamepropertyname="locations">

<list>

<value>classpath:dbinfo.properties</value>

<value>classpath:project.properties</value>

</list>

</property>

</bean>

加入了classpath:project.properties,其为自定义的配置文件

将PropertyPlaceholderConfigurer类修改为自定义类CustomizedPropertyPlaceholderConfigurer,

PropertyPlaceholderConfigurer类的具体作用可以查资料这块儿不做详细介绍

注意下:这个configurer类获取的是所有properties的属性map,如果希望处理某个properties文件,需要在properties中

做一个命名区别,然后在加载的时候,根据key的前缀,进行获取。

定义CustomizedPropertyPlaceholderConfigurer类

类的具体内容为下,

[java] view plain copy

importjava.util.HashMap

importjava.util.Map

importjava.util.Properties

importorg.springframework.beans.BeansException

importorg.springframework.beans.factory.config.ConfigurableListableBeanFactory

importorg.springframework.beans.factory.config.PropertyPlaceholderConfigurer

publicclass CustomizedPropertyPlaceholderConfigurer extendsPropertyPlaceholderConfigurer {

privatestatic Map ctxPropertiesMap

@Override

protectedvoid processProperties(ConfigurableListableBeanFactory beanFactoryToProcess,

Properties props)throws BeansException {

super.processProperties(beanFactoryToProcess, props)

ctxPropertiesMap =new HashMap()

for(Object key : props.keySet()) {

String keyStr = key.toString()

if(keyStr.startsWith("project_")){

String value = props.getProperty(keyStr)

ctxPropertiesMap.put(keyStr, value)

}

}

}

publicstatic Object getContextProperty(String name) {

returnctxPropertiesMap.get(name)

}

}

定义获取配置文件中值的类SpringPropertiesUtil

类的具体内容如下:

[java] view plain copy

importorg.springframework.beans.BeansException

importorg.springframework.context.ApplicationContext

importorg.springframework.context.ApplicationContextAware

importorg.springframework.stereotype.Component

/**

* Spring-PropertiesUtil工具类 -获取属性值

*

*/

@Component

publicclass SpringPropertiesUtil implementsApplicationContextAware {

publicstatic final String KEY = "propertyConfigurer"

privatestatic ApplicationContext applicationContext

publicvoid setApplicationContext(ApplicationContext applicationContext)

throwsBeansException {

SpringPropertiesUtil.applicationContext = applicationContext

}

publicstatic ApplicationContext getApplicationContext() {

returnapplicationContext

}

/**

* 获取配置文件中的内容

*

* @param keyName

* @return

*/

publicstatic String parseStr(String keyName) {

CustomizedPropertyPlaceholderConfigurer cp = (CustomizedPropertyPlaceholderConfigurer) applicationContext

.getBean(KEY)

returncp.getContextProperty(keyName).toString()

}

/**

* 获取配置文件中的内容

*

* @param keyName

* @return

*/

publicstatic int parseInt(String keyName) {

CustomizedPropertyPlaceholderConfigurer cp = (CustomizedPropertyPlaceholderConfigurer) applicationContext

.getBean(KEY)

returnInteger.parseInt(cp.getContextProperty(keyName).toString())

}

/**

* 获取配置文件中的内容

*

* @param keyName

* @return

*/

publicstatic double parseDouble(String keyName) {

CustomizedPropertyPlaceholderConfigurer cp = (CustomizedPropertyPlaceholderConfigurer) applicationContext

.getBean(KEY)

returnDouble.parseDouble(cp.getContextProperty(keyName).toString())

}

}

这样,在项目当中就能够方便快速的获取properties文件中配置的参数

如SpringPropertiesUtil.parseStr(“content”)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7898529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存