2019独角兽企业重金招聘Python工程师标准>>>

一、简单的用ApplicationContext做测试的话,获得Spring中定义的Bean实例(对象).可以用:

ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
 RegisterDAO registerDAO = (RegisterDAO)ac.getBean("RegisterDAO");

如果是两个以上:
ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","dao.xml"});

或者用通配符:
ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:/*.xml");

二、ClassPathXmlApplicationContext[只能读放在web-info/classes目录下的配置文件]和FileSystemXmlApplicationContext的区别

classpath:前缀是不需要的,默认就是指项目的classpath路径下面;
如果要使用绝对路径,需要加上file:前缀表示这是绝对路径;

对于FileSystemXmlApplicationContext:
默认表示的是两种:

1.没有盘符的是项目工作路径,即项目的根目录;
2.有盘符表示的是文件绝对路径.

如果要使用classpath路径,需要前缀classpath:

public class HelloClient {

protected static final Log log = LogFactory.getLog(HelloClient.class);

public static void main(String[] args) {
 // Resource resource = new ClassPathResource("appcontext.xml");
 // BeanFactory factory = new XmlBeanFactory(resource);

// 用classpath路径
// ApplicationContext factory = new ClassPathXmlApplicationContext("classpath:appcontext.xml");
 // ApplicationContext factory = new ClassPathXmlApplicationContext("appcontext.xml");

// ClassPathXmlApplicationContext使用了file前缀是可以使用绝对路径的
// ApplicationContext factory = new ClassPathXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");

// 用文件系统的路径,默认指项目的根路径
// ApplicationContext factory = new FileSystemXmlApplicationContext("src/appcontext.xml");
 // ApplicationContext factory = new FileSystemXmlApplicationContext("webRoot/WEB-INF/appcontext.xml");

// 使用了classpath:前缀,这样,FileSystemXmlApplicationContext也能够读取classpath下的相对路径
// ApplicationContext factory = new FileSystemXmlApplicationContext("classpath:appcontext.xml");
 // ApplicationContext factory = new FileSystemXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");

// 不加file前缀
ApplicationContext factory = new FileSystemXmlApplicationContext("F:/workspace/example/src/appcontext.xml");
 IHelloWorld hw = (IHelloWorld)factory.getBean("helloworldbean");
 log.info(hw.getContent("luoshifei"));
 }
 }

转载于:https://my.oschina.net/lenglingx/blog/872342

Spring中ClassPathXmlApplicationContext类的简单使用相关推荐

  1. spring 中 pojo 类为什么不需要注入

    在思考这个问题之前应该需要知道什么是 IOC 和 DI .在<Spring5 高级编程>中是这样介绍它们之间的关系的: IOC 的核心是 DI,旨在提供一种更简单的机制来设置组件依赖项(通 ...

  2. java color类 蓝色_java中Color类的简单总结

    标签: java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 p ...

  3. Spring中实体类为什么不需要注册成bean?

    今天偶然想到一个问题,Spring中实体类为什么不需要注册成bean? 要理解为什么不用注入,首先就清楚注入的目的是什么?如果不注入,在程序中要使用某个类对象的方法,则需要去new一个对象.然后我们调 ...

  4. Spring中同一个类中方法调用事务不生效,非事务方法调用事务方式事务不生效

    我们假定在SerivceXXX中有两个方法: serviceA 非事务方法 serviceB事务方法 如果serviceA中方法定义类似如下: public void serviceA(){..... ...

  5. Spring中HibernateTemplate类的使用

    实际情况中,对于编程事务的操作最好还是使用org.springframework.transaction.support.TransactionTemplate,因为HibernateTemplate ...

  6. Android中PackageManager类的简单介绍

    1.PackageManager这个类,表层意思是包管理者,既然可以管理包,那么包下的一些东西便可以获取,其中可以获取应用图标和应用名称以及包名. 通过下面一行代码实例化PackageManager类 ...

  7. java spring 打包后找不到路径,java - Spring中的类路径问题:找不到文件异常 - 堆栈内存溢出...

    我有一个简单的Java Spring IO项目,其中的一个类应该从csv文件读取,对于每个读取的记录,参数都存储在帐户对象列表中. 我正在使用Force IDE Luna,并且读取文件的Class C ...

  8. 关于Opencv2.4.x中stitcher类的简单应用

    1.opencv2.4以上版本有stitcher类,可以简单方便的实现图像的拼接,目前只是简单的测试一下stitcher类的拼接功能,也是纠结了好长时间,最终发现是要在链接库中加上opencv_sti ...

  9. java简单通讯录的实现02person类_Java中Math类的简单介绍

    我想对于Math类大家一定很熟悉了,是Java提供的一个用来进行简单数学运算的工具类.对于Math类来说,常用的方法有: 加法 public static int addExact(int x, in ...

最新文章

  1. python二级考试试题4答案_第4卷讲解Python语言计算机等级考试二级操作题
  2. linkerd——针对java的为微服务提供可靠性的proxy,服务发现重试LB等
  3. 单链表 操作的18种算法
  4. 每天一道LeetCode-----实现LRU置换算法
  5. CuteEditor—Html在线编辑器的领航者,超强的asp.net编辑器控件
  6. java 电梯算法_编程之美之小飞的电梯调度算法(多种解法)---Java语言
  7. Web框架——Flask系列之WTF表单验证练习(七)
  8. /proc/sys/vm虚拟内存参数
  9. sqlserve 热备用状态更新_燃气地暖一个月费用多少钱?看完收藏备用
  10. 24 PP配置-生产车间控制-定义工单号码范围
  11. ML.NET 1.0 发布,单击右键即可添加机器学习模型
  12. “李刚畅谈Java编程人生”讲座
  13. 线程上下文类加载器(Thread Context ClassLoader)
  14. 爱普生L3153打印机如何清洗喷头
  15. 互动媒体设计之好玩儿的游戏(屁民科普)
  16. Win10专业版启用.NET FrameWork 3.5
  17. Flutter系列之设置Dialog的宽度
  18. python字典的删除(简介明了)
  19. 除了支付宝,微信也能查询账单了!再也不担心钱花哪去了!
  20. 学习LSM(Linux security module)之二:编写并运行一个简单的demo

热门文章

  1. 介绍一款开源的类Excel电子表格软件
  2. 「APIO2018」选圆圈
  3. Jquery源码分析之匿名函数的自执行
  4. PaaS模式创新:实现应用可移植性
  5. 关于java中Math的一些用法
  6. 关于routerOS设置PPPOE与HOTSPOT并存的说明
  7. TP,TN,FP,FN
  8. BYOD革命挑战企业IT安全
  9. Office 如何下载网页的视频 JWPlayer的内嵌视频
  10. linux的pthread.h