Spring不是自动装配服务或抛出异常

时间:2017-01-29 04:01:05

标签: spring spring-mvc

我正在尝试将作为代理的服务自动装入静态类。春天不合作,并没有给出任何错误的迹象。

我只能看到:

  

方法抛出' org.springframework.beans.factory.BeanCreationException'例外。无法评估com.domain.services.SessionService $$ EnhancerBySpringCGLIB $$ f94406f3.toString()

当我尝试评估变量时,在调试器中

我的控制器有一个实用程序类:

public class ControllerUtil {

private static SessionService sessionService;

public ControllerUtil(SessionService sessionService) {
    this.sessionService = sessionService;
}

在应用程序启动时,我尝试将sessionService添加到静态类。会话服务在会话范围内,所以我在这里尝试添加代理。

@Configuration
public class BeanConfig {

@Autowired
SessionService sessionService;

@PostConstruct
private void initStaticClasses() {
    /*
    * Need to add proxy to controller utils
    * */
    new ControllerUtil(sessionService);
}

最后我的SessionService类:

@Service
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class SessionService {

@Autowired
BusinessDAO businessDAO;

Business business = businessDAO.getBusinessById("1");

public SessionService() {
    System.out.println("New session service");
}

我只是想在商业中硬编码用于开发目的。

Spring必须在某个地方失败,但我没有在日志中得到任何回报,调试并没有真正帮助。

有人可以告诉我做错了吗?

由于

1 个答案:

答案 0 :(得分:0)

如果您使用的是java配置,请在Web应用初始化程序中添加此行。

servletContext.addListener(new RequestContextListener());

如果您使用的是spring xml配置,请在web.xml中添加以下内容

<listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>