spring lookup- method示例xml
时间: 2023-08-10 14:30:05 浏览: 94
当然,除了使用注解方式,我们还可以使用XML配置来实现Spring Lookup Method。下面是一个使用XML配置的示例:
首先,定义一个抽象类:
```
public abstract class AbstractBean {
public void doSomething() {
getDependency().execute();
}
public abstract Dependency getDependency();
}
```
接下来,定义一个具体的子类:
```
public class ConcreteBean extends AbstractBean {
private Dependency dependency;
@Override
public Dependency getDependency() {
if (dependency == null) {
dependency = createDependency();
}
return dependency;
}
protected Dependency createDependency() {
// 返回一个新的Dependency对象
}
}
```
注意到这里的`createDependency()`方法没有被`@Lookup`注解标记,这是因为我们将会在XML中配置这个方法。
接下来,我们需要在XML中配置这个类:
```
<bean id="concreteBean" class="com.example.ConcreteBean">
<lookup-method name="createDependency" bean="dependency"/>
</bean>
<bean id="dependency" class="com.example.Dependency"/>
```
注意到这里的`lookup-method`元素,它告诉Spring在运行时为`createDependency()`方法生成一个代理,并将其返回值注入到`ConcreteBean`对象中。
现在,我们可以在其他类中注入`concreteBean`对象,并调用它的`doSomething()`方法,它将会使用`ConcreteBean`中的`createDependency()`方法来获取一个新的`Dependency`对象,并执行它的`execute()`方法。
这就是使用XML配置的Spring Lookup Method的一个简单示例。
阅读全文