初始化spring容器
前提:
- 现在有
hello.A
hello.B
两个对象需要在容器中初始化 - B对象中有A的一个对象a:
package hello;
public class A{
}
package hello;
public class B{
private A a;
}
配置XML文件
- 在main/resources 目录下创建
applicationContext.xml
文件 - 利用
bean
标签配置A对象
<bean id="aa" class="hello.A"></bean>
其中,id是用来标志对象的,之后的代码会用到
class是当前由spring管理对象的全类名(包+类名)
关联对象的初始化(B对象的配置)
同样的,
- id
bb
用来标识B
对象,在之后的java代码或者配置其他类要用到, class
为全类名,property
标签用来配置子节点,也就是它内部的关联对象A(a)
,name
属性表示java代码中声明的A
对象的引用,ref
为bean
标签中的id值
<bean id="bb" class="hello.B">
<property name="a" ref="aa"></property>
</bean>
不同包下的组件扫描
在applicationContext.xml
文件中添加需要被扫描到的包:
<context:component-scan base-package=“包名”/>
添加多个包只需要再写一个就行了
初始化容器
- 这里用到
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
applicationContext.xml
相对路径+xml文件 - 或者在配置类上方添加注解
@ContextConfiguration("classpath:applicationContext.xml")