2017-10-16 4 views
-1

@Autowired의 도움을 받아 서비스 구현시 serviceImpl에 CollectInfo 개체가 삽입되었지만 NullPointerException이 표시됩니다.@Autowired는 스프링에서 작동하지 않습니다. 통합

package net.group.cts.service.serviceImpl; 
     @Service 
     public class EmployeeImpl implements EmployeeService {  
      @Autowired 
      CollectInfo info; 

      public void processData(){ 
       info.getName(); 
      } 
     } 

package net.group.cts.model; 
    @Component 
    public class CollectInfo (){ 

     String name; 

     public String getName(){ 
      name = name + "Mr."; 
      return name;} 
     } 

    } 

이 클래스는 스프링 빈없는 경우 당신은 클래스의 빈을 주입 할 수

<context:annotation-config/> 
<context:component-scan base-package="net.group.cts"/> 
<bean id="info" class="net.group.emp.model.CollectInfo "/> 
+0

클래스를 @Component로 주석 처리 한 경우 CollectInfo 클래스를 공유 할 수 있습니까? –

+0

'EmployeeImpl' 스프링 컨테이너가 관리되고 있습니까? –

+0

@Vikram 예 정의 – Doss

답변

1

Xmlconfig.xml.
EmployeeImplSpring bean stereotype (예 : @Component 또는 @Service)으로 주석되어 있지 않습니다.

것은 EmployeeImpl에 그들 중 하나를 추가하고 두 개의 클래스가 봄 <context:component-scan base-package="net.group.emp.service"/> 스캔 패키지 내부에 있는지 확인하고 그것을 확인해야합니다.

@Component 
public class CollectInfo (){...} 

을하고 Spring XML 설정에서 그것을 구성 :

게다가, 모두 @Component와 빈 주석

<bean id="info" class="net.group.emp.model.CollectInfo "/> 

중복입니다.
마지막으로 두 개의 빈을 만듭니다 : 하나의 이름은 collectInfo이고 다른 하나는 info입니다.

xml 구성에 대한 주석을 사용하는 것이 좋습니다 (대부분의 경우).

+0

xml bcoz에서이 을 제거 할 수 없습니다. 잘 작동하는 게이트웨이 용도로 사용하고 있습니다. – Doss

+0

하지만 여전히 동일한 Nullpointer 예외가 발생했습니다. – Doss