Spring获取资源文件
来源:互联网 发布:网络教育自我鉴定200字 编辑:程序博客网 时间:2024/05/17 17:45
一:Spring中Resource定义资源
1.比较常用的资源定义的实现类为:
a.ClassPathResource 从classpath中读取
b.FileSystemResource 从文件系统中读取
c.UrlResource 从指定URL中读取
d.ServletContextResource 必须要在web环境下使用
2.案例代码
importorg.springframework.core.io.ClassPathResource; importorg.springframework.core.io.FileSystemResource; importorg.springframework.core.io.Resource; importorg.springframework.core.io.UrlResource; public class ResourceTest { //ClassPathResource @Test publicvoid test1() throws Exception{ Resourceresource1=newClassPathResource("com/cloud/day4/applicationContext_dao.xml"); //获取当前包的路径下【this.getClass()】 Resourceresource2=new ClassPathResource("applicationContext_dao.xml",this.getClass()); System.out.println(resource1.getFile().getAbsolutePath()); System.out.println(resource2.getFile().getAbsolutePath()); } //FileSystemResource @Test publicvoid test2() throws Exception{ Resourceresource=new FileSystemResource("f:/applicationContext_dao.xml"); System.out.println(resource.exists()); System.out.println(resource.getFile().getAbsolutePath()); } //UrlResource @Test publicvoid test3() throws Exception{ Resourceresource=new UrlResource("http://www.baidu.com/"); System.out.println(resource.exists()); System.out.println(resource.getFile().getAbsolutePath()); } //ServiceContextResource.需要在web环境下测试 @Test publicvoid test4() throws Exception{ //Resource resource = new ServletContextResource(servletContext,"/WEB-INF/classes/applicationContext.xml"); //System.out.println(resource); } }二:ApplicationContext定义资源文件
如果说BeanFactory是Spring的心脏,那么Application就是完整的身躯。ApplicationContext就是由BeanFactory派生出来的。
ApplicationContext的主要实现类是ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,前者默认从类路径加载配置文件,后者默认从文件系统加载文件。
import java.util.Map; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.cloud.day3.UserDao; public classApplicationContextTest { @Test public void test1() throws Exception{ ApplicationContext ac1=newClassPathXmlApplicationContext("com/cloud/day5/applicationContext_dao.xml"); ApplicationContext ac2=new ClassPathXmlApplicationContext("applicationContext_dao.xml", this.getClass()); System.out.println(ac1.getBeanDefinitionCount()); System.out.println(Arrays.toString(ac1.getBeanDefinitionNames())); System.out.println(ac2.getBeanDefinitionCount()); System.out.println(Arrays.toString(ac2.getBeanDefinitionNames())); } /** * 一次加载多个配置文件 * @throws Exception */ @Test public void test2() throws Exception{ //这里文件的加载不考虑先后顺序,会自动处理文件的依赖关系 ApplicationContext ac1=newClassPathXmlApplicationContext(new String[]{ "com/cloud/day5/applicationContext_dao.xml", "com/cloud/day5/applicationContext_service.xml" }); System.out.println(Arrays.toString(ac1.getBeanDefinitionNames())); ApplicationContext ac2=newClassPathXmlApplicationContext(new String[]{ "applicationContext_dao.xml","applicationContext_service.xml" },this.getClass()); System.out.println(Arrays.toString(ac2.getBeanDefinitionNames())); } @Test public void testMrthod() throws Exception{ ApplicationContext ac=newClassPathXmlApplicationContext( "applicationContext_dao.xml",getClass()); //获取指定类型的bean的名称 Stringnames[]=ac.getBeanNamesForType(UserDao.class); System.out.println(Arrays.toString(names)); //获取指定类型的bean的信息,(key是名称,value是对象实例) Map<String,Object> map=ac.getBeansOfType(UserDao.class); System.out.println(map); } }
0 0
- Spring获取资源文件
- (3) Spring boot静态资源文件获取
- 关于Spring工具类获取classpath下的文件资源
- 笔记:Spring中获取classpath下的文件资源
- Spring Framework 5.0:Resources资源文件获取接口
- spring 资源获取总结
- 获取文件资源
- 获取资源文件
- 获取资源文件
- java获取资源文件
- 获取视频资源文件
- Java 获取资源文件
- 获取文件资源Properties
- spring加载资源文件
- spring加载资源文件
- spring 读取资源文件
- spring 读取资源文件
- Spring文件资源操作
- sublime 3 插件
- MyEclipse 点击 部署(add deployment) 按钮 无效
- 改善Java程序的151个建议--记录(持续更新)
- 哈夫曼编码C程序及演示结果
- Field "state" doesn't have a default value
- Spring获取资源文件
- 获得字符串的宽度
- Qt 多线程
- xcode升级到6.4之后插件无法使用,无法使用的解决办法
- iOS 9 适配系列教程
- 详解IBM Bluemix端到端开发体验
- 常用的一些性能/自动化工具(lr,jmeter,QTP,)
- Java for Web学习笔记(八):Servlet(6)doGet()和doPost()是线程还是队列
- PyCharm 3的PEP8代码风格警告提示信息