第四章SpringFramework之Ioc
第四章 Spring Framework 之 IOC(控制反转)
Spring框架的核心是Spring容器,它负责管理应用中的对象生命周期和依赖关系。Spring容器使用DI(依赖注入)实现IOC,而且Spring提供了多种方式来进行依赖注入。
- 构造器注入
构造器注入通过容器提供的构造器来注入依赖,你可以使用<constructor-arg>
元素或者@ConstructorProperties
注解来实现。
<bean id="exampleBean" class="examples.ExampleBean">
<constructor-arg type="int" value="123"/>
<constructor-arg type="java.lang.String" value="'Hello, World!'"/>
</bean>
或者使用Java配置:
@Bean
public ExampleBean exampleBean() {
return new ExampleBean(123, "Hello, World!");
}
- Setter方法注入
Setter方法注入是通过调用bean的setter方法来注入依赖的。你可以使用<property>
元素或者@Value
注解来实现。
<bean id="exampleBean" class="examples.ExampleBean">
<property name="counter" value="123"/>
<property name="message" value="'Hello, World!'"/>
</bean>
或者使用Java配置:
@Bean
public ExampleBean exampleBean() {
ExampleBean bean = new ExampleBean();
bean.setCounter(123);
bean.setMessage("Hello, World!");
return bean;
}
- Field注入
Field注入是Spring框架支持的最弱依赖注入形式,它通过反射机制直接注入,不推荐使用,因为它破坏了封装性。
<bean id="exampleBean" class="examples.ExampleBean">
<field name="counter" value="123"/>
<field name="message" value="'Hello, World!'"/>
</bean>
- 方法注入
方法注入是通过调用bean的方法来注入依赖的。你可以使用<lookup-method>
元素或者@Lookup
注解来实现。
<bean id="exampleBean" class="examples.ExampleBean"/>
<bean id="anotherExampleBean" class="examples.AnotherExampleBean"
factory-method="getInstance">
<lookup-method name="getExampleBean" bean="exampleBean"/>
</bean>
- 注入集合类型
Spring支持注入各种集合类型,如List、Set、Map、Properties等。
<bean id="exampleBean" class="examples.ExampleBean">
<property name="list">
<list>
<value>Item 1</value>
<value>Item 2</value>
</list>
</property>
<property name="set">
<set>
<value>Item 1</value>
<value>Item 2</value>
</set>
</property>
<property name="map">
<map>
<entry key="Key 1" value="Value 1"/>
<entry key=
评论已关闭