1、定义两个具有组合关系的Bean组件类,在applicationContext.xml中添加定义。 2、掌握如何获取Spring容器及获取对象。 3、单例模式与多例模式的创建及使用。 4、使用注解,给容器中注入组件。
时间: 2024-03-10 20:48:53 浏览: 97
Spring Boot技术知识点:如何读取不同路径里的applicationContext.xml配置文件4
1. 定义两个具有组合关系的Bean组件类,在applicationContext.xml中添加定义:
```xml
<bean id="person" class="com.example.Person">
<property name="name" value="John"/>
<property name="age" value="30"/>
</bean>
<bean id="address" class="com.example.Address">
<property name="city" value="Beijing"/>
<property name="street" value="Xinjiekou"/>
<property name="person" ref="person"/> <!--通过ref属性引用person bean-->
</bean>
```
2. 获取Spring容器及获取对象:
```java
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Person person = (Person) context.getBean("person");
Address address = (Address) context.getBean("address");
```
3. 单例模式与多例模式的创建及使用:
在Spring中,默认情况下,所有的Bean都是单例的,即在整个应用程序中只存在一个实例。如果需要创建多个实例,可以将Bean的scope属性设置为“prototype”,如下所示:
```xml
<bean id="person" class="com.example.Person" scope="prototype">
<property name="name" value="John"/>
<property name="age" value="30"/>
</bean>
```
在使用时,可以通过context.getBean()方法每次获取一个新的实例:
```java
Person person1 = (Person) context.getBean("person");
Person person2 = (Person) context.getBean("person");
```
person1和person2是两个不同的实例。
4. 使用注解,给容器中注入组件:
可以使用@Component注解将一个类声明为Bean组件,如下所示:
```java
@Component
public class Person {
private String name;
private int age;
//...
}
```
在applicationContext.xml中,需要添加<context:component-scan>标签,告诉Spring扫描哪个包下的类需要注入为Bean组件:
```xml
<context:component-scan base-package="com.example"/>
```
这样,在Spring容器启动时,会自动将所有标注为@Component的类实例化并注入容器中。
阅读全文