2016-12-09 7 views
1

스프링 4.2.0을 사용하면 Dwr 3입니다.주석을 사용하여 모든 스프링 컨트롤러, 서비스 및 daos를 생성하십시오. 봄철 환경에서만 잘 작동합니다. DWR을 별도의 스프링 컨트롤러 서비스 객체로 추가하려고 시도하면 해당 DWR 컨트롤러에 삽입되지 않습니다. NullPointerException 이하의 오류가 발생합니다.DWR을 스프링과 병합 할 수 없습니다.

found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 

다음은 코드 단편입니다. DWR 컨트롤러 내가 XML에서 DWR 컨트롤러를 정의하는 경우와 DWR 컨트롤러에서 모든 주석을 제거, 그것은 여기 (서비스 개체를 초기화하지 않고 점점 서버가 호출하는 동안

@Controller 
@RemoteProxy(name = "dwrDemo") 
public class DwrDemoController { 
@Autowired 
private BrandNameService brandNameService; 


public void setBrandNameService(BrandNameService brandNameService) { 
    this.brandNameService = brandNameService; 
} 


@RemoteMethod 
public List<String> getEmployeeDetails(int id) { 
    return brandNameService.getEmployeeDetails(id); 
} 
: 
} 

서비스 클래스는

@Service("brandNameService") 
@Transactional 
public class BrandNameServiceImpl implements BrandNameService{ 
    public List<String> getEmployeeDetails(int id) { 
    return brandNameDAO.getEmployeeDetails(id); 
    } 
: 
} 

같은입니다 DWR NullPointerException이 점점) 다음은 XML

<beans:bean id="dwrDemoController" 
    class="com.classified.dwr.controller.DwrDemoController"> 
    <!-- <beans:property name="brandNameService" ref="brandNameService"/> --> 
    <dwr:remote javascript="dwrService"> 
     <dwr:include method="getEmployeeDetails" /> 
    </dwr:remote> 
</beans:bean> 

내가 brandNameService 주석을 제거하면, 바람둥이입니다 난 올라가지 않는 동안 예외/오류 위로 이동

+0

대신 생성자 삽입을 사용하여 시작하여 문제를 식별하는지 확인하십시오. 나는 DWR이 스프링 컨테이너와 제대로 협력하지 않는다고 생각한다. – chrylis

답변

0

myapp-servlet.xml 대신 applicationContext.xml에 모든 bean을 정의했을 때 작동했습니다.