해결된 질문
작성
·
197
·
수정됨
0
안녕하세요. 선생님 영상을 보면서 라이브 코딩하면서 오류가 발생할때 저는 오류가 발생을 안하고
오류가 발생하면 안되는 곳에서는 발생해서 질문남깁니다.
package web;
import hello.core.common.MyLogger;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequiredArgsConstructor
public class LogDemoController {
private final LogDemoService logDemoService;
private final ObjectProvider<MyLogger> myLoggerProvider;
@RequestMapping("log-demo")
@ResponseBody
public String logDemo(HttpServletRequest request) {
String requestURL = request.getRequestURL().toString();
MyLogger myLogger = myLoggerProvider.getObject();
myLogger.setRequestURL(requestURL);
myLogger.log("controller test");
logDemoService.logic("testId");
return "OK";
}
}
package web;
import hello.core.common.MyLogger;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class LogDemoService {
private final ObjectProvider<MyLogger> myLoggerProvider;
public void logic(String id) {
MyLogger myLogger = myLoggerProvider.getObject();
myLogger.log("service id = " + id);
}
}
18:48:19.302 [main] INFO hello.core.CoreApplication --
Starting CoreApplication using Java 17.0.8.1 with PID 1715 (/Users/kssk3-/Desktop/study/core/build/classes/java/main started by kssk3- in /Users/kssk3-/Desktop/study/core)
18:48:19.303 [main] INFO hello.core.CoreApplication --
No active profile set, falling back to 1 default profile: "default"
18:48:19.661 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer --
Tomcat initialized with port 8080 (http)
18:48:19.665 [main] INFO o.a.coyote.http11.Http11NioProtocol --
Initializing ProtocolHandler ["http-nio-8080"]
18:48:19.665 [main] INFO o.a.catalina.core.StandardService --
Starting service [Tomcat]
18:48:19.665 [main] INFO o.a.catalina.core.StandardEngine --
Starting Servlet engine: [Apache Tomcat/10.1.16]
18:48:19.683 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] --
Initializing Spring embedded WebApplicationContext
18:48:19.684 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext --
Root WebApplicationContext: initialization completed in 363 ms
call AppConfig.memberRepository
call AppConfig.memberService
call AppConfig.orderService
18:48:19.817 [main] INFO o.a.coyote.http11.Http11NioProtocol --
Starting ProtocolHandler ["http-nio-8080"]
18:48:19.825 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer --
Tomcat started on port 8080 (http) with context path ''
18:48:19.829 [main] INFO hello.core.CoreApplication --
Started CoreApplication in 0.642 seconds (process running for 1.077)
영상초반에 Provider 적용후 강의에서는 local 사이트 화면에서는 OK로 변경된 화면이 나오지만
저의 사이트에서는 여전히 오류가 발생하고 있어서 문의드립니다.
추가로 인텔리제이 종료후 재시작해서 CoreApplication를 작동해보았는데 추가적인 오류가 나왔습니다.
18:59:26.308 [main] INFO o.a.coyote.http11.Http11NioProtocol --
Starting ProtocolHandler ["http-nio-8080"]
18:59:26.310 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext --
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'
18:59:26.317 [main] INFO o.s.b.a.l.ConditionEvaluationReportLogger --
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
18:59:26.325 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter --
***************************
APPLICATION FAILED TO START
***************************
Description:
Web server failed to start. Port 8080 was already in use.
Action:
Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.
Process finished with exit code 1
답변 2
2
8080 사이트랑 log-demo 사이트랑 같은 오류 페이지가 나타나고 있습니다.
혹시 스트링이 제대로 작동안하고 있는거면 필요하신 설정 값 캡쳐해서 댓글에 남기도록하겠습니다.
강의와 패키지가 다른 것 같습니다.
hello.core.web이 아니라 web으로 패키지가 시작하시네요.
강의와 동일한 구조로 맞추신 뒤 다시 해보시겠어요?
현재 컨트롤러가 전혀 스캔되지 않는 것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
스코프와 Provider 관련하여 발생한 오류에 대해 질문주셨군요. 유사한 질문과 그에 대한 답변을 찾아서 제공해드리겠습니다.
질문하신 내용과 유사한 상황에서의 해결 방법이 담긴 질문&답변 내용입니다.
해당 내용을 참고하시어 문제를 해결해보시기 바랍니다. 추가적으로 포트 충돌 문제가 발생한 것 같은데, 이미 8080 포트를 사용 중인 다른 프로세스가 있는지 확인하고, 필요하다면 해당 프로세스를 종료하시거나 다른 포트 번호를 사용하여 애플리케이션을 실행해보시기 바랍니다.
안녕하세요 말씀해주신 방향으로 8080포트를 종료후
다시 CoreApplication main 포트를 작동하였으나
/log-demo 페이지로는 똑같이 오류가 나타나고 있습니다.