一、Aware接口
通过aware接口可以获得bean的一些资源,对相应的资源进行操作要慎重
如ApplicationContextAware、BeanNameAware等可以获得bean的应用上下文,bean的名称(id或class)
会在初始化容器的时候调用setApplicationContext()等类似的函数进行依赖注入
二、自动装配
<beans default-autowire = ""></beans>
- No:不做任何操作
- byName:检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配
- byType :如果容器中存在一个与指定属性类型相同的bean,那么与该属性自动装配,与bean的id没有关系;如果存在多个该类型bean,抛出异常
- Constructor:与上面类似,不同之处在于它应用于构造器参数。 若果容器中没有找到与构造器参数类型一致的bean,抛出异常
三、Resources
针对于资源文件的统一接口
ResourceLoader : 所有的application contexts都实现了这个接口
前缀有classpath: file: http: (none)四种
public interface ResourceLoader {
Resource getResource(String location);
}
如果前缀什么都不写,那么是通过applicationContext的创建方式去加载
通过getResource()函数获得Resource对象,进而调用它的方法获得资源文件的信息