No bean named 'sampleService' available 이 해결이 하루종일 해결이 안되고 있습니다.=>해결 내용 올립니다.
- 작성자 :
- 홍*성
- 작성일 :
- 2021-07-23 12:01:40
- 조회수 :
- 8,657
- 구분 :
- 개발환경 / 3.9
- 진행상태 :
- 완료
Q
위 질문을 아래와 같이 해결했습니다.
---------아래------------
/lab101-project-create-tutor/src/main/webapp/WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml
에서
<context:component-scan base-package="egovframework">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
위에서 include으로 되어 있는 것을 exclude로 바꾸어 줘서
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
No bean named 'sampleService' available 을 해결했고요,
/lab101-project-create-tutor/src/main/java/egovframework/example/sample/service/impl/EgovSampleServiceImpl.java 에서
abstract 제거는 영향이 없었으나 제거를 한 상태이고
그런데 지금은
본 프로젝트를 run on server 하면
Did not find handler method for [/egovSampleList.do]가 나오는데 원인을 못 찾고 있습니다.
도와 주시면 고맙겠습니다.
감사합니다.
---------아래------------
/lab101-project-create-tutor/src/main/webapp/WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml
에서
<context:component-scan base-package="egovframework">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
위에서 include으로 되어 있는 것을 exclude로 바꾸어 줘서
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
No bean named 'sampleService' available 을 해결했고요,
/lab101-project-create-tutor/src/main/java/egovframework/example/sample/service/impl/EgovSampleServiceImpl.java 에서
abstract 제거는 영향이 없었으나 제거를 한 상태이고
그런데 지금은
본 프로젝트를 run on server 하면
Did not find handler method for [/egovSampleList.do]가 나오는데 원인을 못 찾고 있습니다.
도와 주시면 고맙겠습니다.
감사합니다.
환경정보
-
- OS 정보 : window 10
- 표준프레임워크 버전 : 3.9
- JDK(JRE) 정보 : 1.8
- WAS 정보 : tomcat 8.5
- DB 정보 : mariadb
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
앞선 질문과 함께 확인해보면
dispatcher-servlet.xml 과 context-common.xml 의
component-scan 설정 모두에서 Controller 어노테이션이 붙은
클래스를 Bean 으로 등록하지 않겠다고 구성한 상태가 되어
실행 시 [/egovSampleList.do] 에 매핑된 클래스를 찾을 수 없게 됩니다.
dispatcher-servlet.xml 에서는 controller 의 스캔만 허용(include-filter) 하고
context-common.xml 에서는 controller 를 제외하고 나머지는 스캔을 허용하게
변경하시기 바랍니다.
dispatcher-servlet.xml >>>
<context:component-scan base-package="egovframework">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
context-common.xml >>>
<context:component-scan base-package="egovframework">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
감사합니다.
표준프레임워크센터입니다.
앞선 질문과 함께 확인해보면
dispatcher-servlet.xml 과 context-common.xml 의
component-scan 설정 모두에서 Controller 어노테이션이 붙은
클래스를 Bean 으로 등록하지 않겠다고 구성한 상태가 되어
실행 시 [/egovSampleList.do] 에 매핑된 클래스를 찾을 수 없게 됩니다.
dispatcher-servlet.xml 에서는 controller 의 스캔만 허용(include-filter) 하고
context-common.xml 에서는 controller 를 제외하고 나머지는 스캔을 허용하게
변경하시기 바랍니다.
dispatcher-servlet.xml >>>
<context:component-scan base-package="egovframework">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
context-common.xml >>>
<context:component-scan base-package="egovframework">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
감사합니다.