您的位置 首页 java

加载、读取资源的方式

❀ 通过类加载器进行加载,通过流的方式进行读取,从而获取资源

1、 Java jdk 内置的加载方式:

通过线程Thread(lang包的)获取到类加载,然后以流的方式获取资源:

  InputStream   input Stream  = Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties");

/* 【使用输入流inputStream】 */ private   static  Properties p = new Properties();
  //加载注册
static {
  try {
    InputStream inStream = Thread.currentThread().getContextClassLoader()
                .getResourceAsStream("db.properties");
    p.load(inStream);
    Class.forName(p.getProperty("driverClassName"));//获取driverClassName的值
  } catch ( Exception  e) {
    e.printStackTrace();
  }
}  

2、 mybatis 的的加载方式(通过):

通过资源对象Resources(import org.apache.ibatis.io.Resources;)以流的方式获取资源:

 InputStream in = Resources.getResourceAsStream("mybatis-config.xml");

/* 【使用输入流inputStream】 */InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//创建SqlSessoinFactory会话工厂对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
Sql session  session = factory.openSession();
//进行数据库操作(CRUD)
User user = session.selectOne("com.shan.hello.UserMapper.get", 2L);
System.out.println(user);
//5、关闭资源
session.close();  

2、 spring 的的加载方式【加载完资源赋值给Resource对象】:

通过 classpath Resource对象加载资源【classpath是加载 字节码 (即到项目编译之后的字节码的目录下加载资源)】

  Resource  resource = new ClassPathResource("applicationContext.xml");

/* 【使用资源对象Resource】 */Hello hello = null;
//===================================================================
Resource resource = new ClassPathResource("applicationContext.xml");
//创建spring的工厂对象( IoC 容器对象)
BeanFactory factory = new XmlBeanFactory(resource);
//从spring IoC 容器(就是factory 工厂对象)中获取指定名称的对象
hello = (Hello)factory.getBean("hello");
//===================================================================
hello.printUsername();  

作者:一乐乐

“做 程序员 ,圈子和学习最重要”因为有有了圈子可以让你少走弯路,扩宽人脉,扩展思路,学习他人的一些经验及学习方法!同时在这分享一下是一直以来整理的Java后端进阶笔记文档和学习资料免费分享给大家!需要资料的朋友私信我扣【06】

文章来源:智云一二三科技

文章标题:加载、读取资源的方式

文章地址:https://www.zhihuclub.com/193481.shtml

关于作者: 智云科技

热门文章

网站地图