1、定义两个具有组合关系的Bean组件类,在applicationContext.xml中添加定义。 2、掌握如何获取Spring容器及获取对象。 3、单例模式与多例模式的创建及使用。 4、使用注解,给容器中注入组件。
时间: 2024-03-10 18:49:07 浏览: 12
1. 定义两个具有组合关系的Bean组件类,在applicationContext.xml中添加定义。
假设有两个组件类A和B,其中B是A的一个成员变量,可以通过在applicationContext.xml中定义如下:
```xml
<bean id="a" class="com.example.A">
<property name="b" ref="b" />
</bean>
<bean id="b" class="com.example.B" />
```
其中,a和b分别是A和B的ID,class属性指定了类的全限定名,property标签中的name属性指定了A中的成员变量名,ref属性指定了引用的Bean组件ID。
2. 获取Spring容器及获取对象。
获取Spring容器可以使用ApplicationContext接口的实现类,如ClassPathXmlApplicationContext、FileSystemXmlApplicationContext等。获取对象可以使用getBean方法,例如:
```java
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
A a = (A)context.getBean("a");
```
其中,参数传入的是applicationContext.xml文件的路径,getBean方法的参数是Bean组件的ID。
3. 单例模式与多例模式的创建及使用。
在Spring容器中,Bean组件默认是单例模式,即每次获取该组件时都会返回同一个对象。如果需要多例模式,则需要在定义Bean组件时设置scope属性为"prototype",例如:
```xml
<bean id="a" class="com.example.A" scope="prototype">
<property name="b" ref="b" />
</bean>
```
4. 使用注解,给容器中注入组件。
可以使用@Component注解定义一个组件类,并使用@Autowired注解将其注入到另一个组件中,例如:
```java
@Component
public class A {
@Autowired
private B b;
}
@Component
public class B {
}
```
在Spring容器中,会自动扫描@Component注解的类并创建对象,同时将@Autowired注解的成员变量注入对应的组件。需要在配置文件中添加<context:component-scan>标签来启用自动扫描功能,例如:
```xml
<context:component-scan base-package="com.example" />
```