我有服务控制器,我想在另一个控制器中重用该功能。这是我的服务负责人
@Controller
@Service
@Scope("session")
public class Controller1{
...
}
这是我的第二位控制器
@Controller
public class Controller2 {
@Autowired
private Controller1 adminController;
...
}
但是我遇到了异常,它说:
创建名称为“ adminController”的bean时出错:作用域“会话”在当前线程中未激活;如果要从单例中引用它,请考虑为其定义一个作用域代理。
我认为这是因为Controler1是会话作用域的bean,而Controller2是应用程序。如何重用Controller2中的Controller1功能?谢谢。
最佳答案
您可以在用于Controller1的xml配置文件中使用aop:scoped-proxy
<bean id="controller1" class="...Controller1" scope="session">
<aop:scoped-proxy />
</bean>
看spring scoped proxy bean