当前位置: 首页 > news >正文

网站设置的用途淮南市建设工程质量监督中心网站

网站设置的用途,淮南市建设工程质量监督中心网站,章丘网站定制,id怎么自动导入wordpress在Java开发中#xff0c;资源加载是一个基础而重要的操作。本文将深入探讨Java中两种常见的资源加载方式#xff1a;ClassLoader的getResource方法和Class的getResource方法#xff0c;并介绍Spring框架中的ResourceLoader的应用。 1. 资源加载的两种方式 1.1 ClassLoader…在Java开发中资源加载是一个基础而重要的操作。本文将深入探讨Java中两种常见的资源加载方式ClassLoader的getResource方法和Class的getResource方法并介绍Spring框架中的ResourceLoader的应用。 1. 资源加载的两种方式 1.1 ClassLoader的getResource方法 URL resourceFromClass classLoader.getResource(demo.txt);ClassLoader的getResource方法是通过当前类的ClassLoader实例来加载资源。路径是相对于classpath的可以轻松获取单个资源。需要注意的是路径不要以/开头否则可能返回null。 1.2 Class的getResource方法 URL resourceFromClassWithPath aClass.getResource(dir/demo.txt);Class的getResource方法通过当前类来加载资源路径是相对于当前类所在的包。如果资源名以/开头会以classpath为基准路径加载资源。这种方式可以方便地获取当前类包内的资源。 2. 获取批量资源 EnumerationURL resources classLoader.getResources(META-INF/MANIFEST.MF);通过ClassLoader的getResources方法可以获取指定路径下的所有资源返回一个Enumeration对象。这对于需要处理多个配置文件或元数据文件的场景非常有用。 3. Spring的ResourceLoader和ResourcePatternResolver ResourcePatternResolver resolver new PathMatchingResourcePatternResolver(); Resource[] springResources resolver.getResources(classpath:/spring/*.xml);Spring框架提供了ResourceLoader和ResourcePatternResolver接口封装了资源加载的方法。在上述代码中通过PathMatchingResourcePatternResolver实例可以使用通配符获取classpath下的所有xml文件。这对于加载多个配置文件非常方便。 4. 完整示例 package com.lfsun.resources;import org.springframework.core.io.Resource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.ResourcePatternResolver;import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Enumeration;public class MyResource {public static void main(String[] args) throws Exception {// 获取单个资源// 获取当前类的Class对象ClassMyResource aClass MyResource.class;// 获取当前类的ClassLoaderClassLoader classLoader aClass.getClassLoader();// 使用ClassLoader获取资源路径相对于classpathURL resourceFromClass classLoader.getResource(demo.txt);// 使用Class获取资源路径相对于当前类所在的包URL resourceFromClassWithPath aClass.getResource(dir/demo.txt);// 输出资源内容if (resourceFromClass ! null) {byte[] bytes readBytesFromStream(resourceFromClass.openStream());System.out.println(ClassLoader获取的资源内容: new String(bytes));}if (resourceFromClassWithPath ! null) {byte[] bytes readBytesFromStream(resourceFromClassWithPath.openStream());System.out.println(Class获取的资源内容: new String(bytes));}// 获取批量资源EnumerationURL resources classLoader.getResources(META-INF/MANIFEST.MF);while (resources.hasMoreElements()) {URL manifestResource resources.nextElement();System.out.println(Manifest资源: manifestResource);}// 使用Spring的ResourceLoader和ResourcePatternResolverResourcePatternResolver resolver new PathMatchingResourcePatternResolver();// 使用通配符获取classpath下的所有xml文件Resource[] springResources resolver.getResources(classpath:/spring/*.xml);// 输出Spring资源内容for (Resource springResource : springResources) {InputStream stream springResource.getInputStream();byte[] bytes readBytesFromStream(stream);System.out.println(Spring资源内容: new String(bytes));}}private static byte[] readBytesFromStream(InputStream stream) throws IOException {StringBuilder buffer new StringBuilder();byte[] bytes new byte[1024];int bytesRead;while ((bytesRead stream.read(bytes)) ! -1) {buffer.append(new String(bytes, 0, bytesRead));}return buffer.toString().getBytes();} }输出 D:\Config\java-17\bin\java.exe -javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2023.2.4\lib\idea_rt.jar62858:D:\Program Files\JetBrains\IntelliJ IDEA 2023.2.4\bin -Dfile.encodingUTF-8 -classpath D:\Users\Administrator\IdeaProjects\lfsun-study-java17\lfsun-study-resources\target\classes;D:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter\3.2.1\spring-boot-starter-3.2.1.jar;D:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot\3.2.1\spring-boot-3.2.1.jar;D:\Users\Administrator\.m2\repository\org\springframework\spring-context\6.1.2\spring-context-6.1.2.jar;D:\Users\Administrator\.m2\repository\org\springframework\spring-aop\6.1.2\spring-aop-6.1.2.jar;D:\Users\Administrator\.m2\repository\org\springframework\spring-beans\6.1.2\spring-beans-6.1.2.jar;D:\Users\Administrator\.m2\repository\org\springframework\spring-expression\6.1.2\spring-expression-6.1.2.jar;D:\Users\Administrator\.m2\repository\io\micrometer\micrometer-observation\1.12.1\micrometer-observation-1.12.1.jar;D:\Users\Administrator\.m2\repository\io\micrometer\micrometer-commons\1.12.1\micrometer-commons-1.12.1.jar;D:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\3.2.1\spring-boot-autoconfigure-3.2.1.jar;D:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-logging\3.2.1\spring-boot-starter-logging-3.2.1.jar;D:\Users\Administrator\.m2\repository\ch\qos\logback\logback-classic\1.4.14\logback-classic-1.4.14.jar;D:\Users\Administrator\.m2\repository\ch\qos\logback\logback-core\1.4.14\logback-core-1.4.14.jar;D:\Users\Administrator\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.21.1\log4j-to-slf4j-2.21.1.jar;D:\Users\Administrator\.m2\repository\org\apache\logging\log4j\log4j-api\2.21.1\log4j-api-2.21.1.jar;D:\Users\Administrator\.m2\repository\org\slf4j\jul-to-slf4j\2.0.9\jul-to-slf4j-2.0.9.jar;D:\Users\Administrator\.m2\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;D:\Users\Administrator\.m2\repository\org\springframework\spring-core\6.1.2\spring-core-6.1.2.jar;D:\Users\Administrator\.m2\repository\org\springframework\spring-jcl\6.1.2\spring-jcl-6.1.2.jar;D:\Users\Administrator\.m2\repository\org\yaml\snakeyaml\2.2\snakeyaml-2.2.jar;D:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\2.0.9\slf4j-api-2.0.9.jar com.lfsun.resources.MyResource ClassLoader获取的资源内容: 这是 demo.txt 的内容。Class获取的资源内容: 这是 dir/demo.txt 的内容。Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/boot/spring-boot-starter/3.2.1/spring-boot-starter-3.2.1.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/boot/spring-boot/3.2.1/spring-boot-3.2.1.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/spring-context/6.1.2/spring-context-6.1.2.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/spring-aop/6.1.2/spring-aop-6.1.2.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/spring-beans/6.1.2/spring-beans-6.1.2.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/spring-expression/6.1.2/spring-expression-6.1.2.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/io/micrometer/micrometer-observation/1.12.1/micrometer-observation-1.12.1.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/io/micrometer/micrometer-commons/1.12.1/micrometer-commons-1.12.1.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/3.2.1/spring-boot-autoconfigure-3.2.1.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/boot/spring-boot-starter-logging/3.2.1/spring-boot-starter-logging-3.2.1.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/ch/qos/logback/logback-classic/1.4.14/logback-classic-1.4.14.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/ch/qos/logback/logback-core/1.4.14/logback-core-1.4.14.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.21.1/log4j-to-slf4j-2.21.1.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/apache/logging/log4j/log4j-api/2.21.1/log4j-api-2.21.1.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/slf4j/jul-to-slf4j/2.0.9/jul-to-slf4j-2.0.9.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/spring-core/6.1.2/spring-core-6.1.2.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/springframework/spring-jcl/6.1.2/spring-jcl-6.1.2.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/yaml/snakeyaml/2.2/snakeyaml-2.2.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Users/Administrator/.m2/repository/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar!/META-INF/MANIFEST.MF Manifest资源: jar:file:/D:/Program%20Files/JetBrains/IntelliJ%20IDEA%202023.2.4/lib/idea_rt.jar!/META-INF/MANIFEST.MF Spring资源内容: !-- config1.xml -- beansbean idbean1 classcom.lfsun.resources.entity.Bean1/ /beansSpring资源内容: !-- config2.xml -- beansbean idbean2 classcom.lfsun.resources.entity.Bean2/ /beansProcess finished with exit code 0 代码结构 以上输出演示了通过ClassLoader和Class获取资源的内容以及使用Spring的ResourceLoader加载多个资源的过程。
http://www.hkea.cn/news/14568214/

相关文章:

  • 物流官网网站wordpress 3.9 模板
  • 辽阳专业建设网站如何快捷建企业网站
  • 长沙网站建设多少钱网站域名备案查询
  • c 网站设计海外网络推广公司
  • 网站优化哪个公司好查发分类信息网
  • 网站的推广方式有哪些湖南网站建设 地址磐石网络
  • 自己做网站的意义wordpress更新是乱码
  • 网站开发 策划是干嘛的男女做爰免费网站
  • 国办网站建设要求如何运营微信公众号
  • 鹰潭市网站建设公司装饰公司怎么拉客户
  • 国外网站建设现状图分析做dnf辅助官方网站
  • 做域名跳转非法网站负什么责任邢台网站制作
  • 学校网站建设培训方案网页设计总结收获和体会
  • 苏州网页服务开发与网站建设网页设计与制作教程题库
  • 做图挣钱的网站软件开发 东莞
  • 263企业邮箱后缀是什么广西优化网站 优帮云
  • 免费英文建设网站微信管理系统后台
  • 售后网站开发需求文档乐山网站建设
  • 着陆页设计网站国内计算机毕业设计代做网站
  • 惠州网站建设 骏域网站建设明起3天洛阳市开展区域核酸检测
  • 开网站需要投资多少钱义乌网站推广
  • 手机网站制作 费怎么做分录中国经济总量
  • 做网站平台的营业执照品牌推广百度seo
  • 网站开发不让搜索引擎广告设计找工作
  • 深圳市网站备案需求安徽seo报价
  • 企业网站建设优化策划爱媛直播
  • 做网站学哪些语言内蒙古银税互动平台
  • 英德网站建设室内装饰设计说明
  • 网站建设验收方案wordpress seo代码
  • 网站要钱怎么seo的站外优化流程