2.用配置文件实现Spring loC控制反转,属性注入使用有参数构造函数注入。 package nuc.edu.cn.vo public class Book{
时间: 2024-10-15 21:26:56 浏览: 35
python pandas.DataFrame.loc函数使用详解
在Spring框架中,通过配置文件实现控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI),可以简化应用的管理并提高代码的灵活性。如果你有一个名为`Book`的类,比如你在`nuc.edu.cn.vo`包下的`Book`类,它可能需要一些外部依赖才能正常工作。在Spring中,你可以这样做:
1. **配置文件**:首先,你需要在Spring的XML配置文件(如applicationContext.xml或application.yml)中声明你的`Book`类及其依赖。例如,在XML中:
```xml
<bean id="book" class="nuc.edu.cn.vo.Book">
<!-- 使用构造函数注入 -->
<constructor-arg index="0" value="书名"/>
<constructor-arg index="1" ref="authorBean"/>
</bean>
<bean id="authorBean" class="nuc.edu.cn.Author">...</bean>
```
或者在YAML中:
```yaml
book:
class: nuc.edu.cn.vo.Book
constructor-args:
- "书名"
- authorBean
authorBean:
class: nuc.edu.cn.Author
```
这里,我们为`Book`类创建了一个bean,并指定了它的构造函数参数。其中,`authorBean`是一个另一个bean的引用。
2. **属性注入**:如果你的`Book`类还有其他非构造函数的属性,你可以通过`property-placeholder`标签或者`@Value`注解来进行属性注入。但在给定的例子中,由于只有一个构造函数,我们主要关注构造函数注入。
3. **控制反转**:Spring会在运行时动态地创建对象实例并设置其依赖关系,而不需要代码内部直接new对象或查找依赖。这实现了“控制反转”,因为控制不再由代码本身负责,而是交给Spring容器管理。
阅读全文