构建应用程序上下文
1、应用程序上下文构造函数(对于特定的应用程序上下文类型)通常将字符串或字符串数组作为资源的位置路径,例如构成上下文定义的XML文件。
2、当这样的位置路径没有前缀时, Resource 从该路径构建并用于加载bean定义的特定类型取决于并且适合于特定的应用程序上下文。
3、例如,请考虑以下示例,该示例创建ClassPathXmlApplicationContext :
4、bean定义是从类路径加载的,因为使用了ClassPathResource 。
5、但是,请考虑以下示例,该示例创建 FileSystemXmlApplicationContext :
6、现在,bean定义是从文件系统位置加载的(在这种情况下,相对于当前工作目录)。
7、请注意,在位置路径上使用特殊类路径前缀或标准URL前缀会覆盖 Resource 为加载定义而创建的默认类型。请考虑以下示例:
8、使用 FileSystemXmlApplicationContext 从类路径加载bean定义。但是,它仍然是一个FileSystemXmlApplicationContext 。如果它随后用作ResourceLoader ,则任何未加前缀的路径仍被视为文件系统路径。
9、在 ClassPathXmlApplicationContext 提供了多种构造方法以便于实例。基本思想是,您只能提供一个字符串数组,该数组飧肇苡卫只包含XML文件本身的文件名(没有前导路径信息),并且还提供了一个Class 。所述 ClassPathXmlApplicationContext 然后导出从所提供的类的路径信息。
10、请考虑以下目录布局:
11、以下示例显示如何 ClassPathXmlApplicationContext 实例化由名为( services.xml 和 daos.xml在类路径中)的文件中定义的bean组成的实例: