월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링 부트 - 핵심 원리와 활용
다음 강의 주제
안녕하세요 :)혹시 다음 강의를 준비중이시라면 다음 강의 주제를 알 수 있을까요?MSA 관련해서 강의 예정이 있으신지 궁금합니다!
- 미해결스프링 부트 - 핵심 원리와 활용
@Configuration 주석 이유
두가지 질문이 있는데요MySpringBootMain띄울때 HelloConfig 클래스에 @Configuration 이 있어도 잘 동작 하던데 주석 처리하는 이유가 뭔지 알 수 있을까요? 다른 질문인데요 @Configuration안에 @Component가 있어서 @Component 대신 @Configuration을 써도 되는것 같던데 빈여러개 등록할때 말고 하나의 클래스를 빈으로 등록할때 @Component 대신 @Configuration을 사용하지 않는 이유가 뭘까요...?찾아봐도 잘 안나와서 질문 드립니다.
- 해결됨스프링 부트 - 핵심 원리와 활용
4개의 서블릿 등록
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)아니오 [질문 내용]좋은 강의 감사드립니다! 동영상 5:35 초 쯤 3개의 서블릿이 등록되어있다고 말씀해주셨는데 정확히는 @WebServlet 애노테이션을 통한 TestServlet 등록이 있어서 4개의 서블릿이 등록되어있는 상태인 것 같습니다. ( 강의자료에도 TestServlet 이 포함되어 있는데 혹시 혼란이 생기시는 분들도 있을 수 있을 것 같아 질문으로 남기겠습니다!)
- 미해결스프링 부트 - 핵심 원리와 활용
윈도우 사용자분들 cmd에서 톰캣 오류 혹은 빌드 오류 날때..
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 아니오[질문 내용]질문은 아니고 혹시 저와 같은 상황이 있을 것 같은 분들을 위해 몇 글자 적어보자면윈도우 cmd에서 빌드할 때 gradlew build 나 톰캣 catalina run 이런 명령어가 Unrecognized option: ~~ 이런식으로 나온다면 그냥 윈도우 powershell을 사용하는 걸 추천드립니다..Unrecognized option: -djava.util.logging.config.fileorUnrecognized option: -xmx64m등등..이상하게 cmd에선 대문자 옵션이 소문자로 바뀌어서 인수로 인식을 못하더라구여ㅠ.. 결론 ! => powershell 쓰면 해결가능합니다!
- 미해결스프링 부트 - 핵심 원리와 활용
스프링부트 내장 tomcat 의 실체
안녕하세요? 김영한 강사님,강의를 본후, [설치형 tomcat 서버] 와 [스프링부트 내장 tomcat ] 의 차이점이 정리가 되지 않아 질문드립니다.질문 1.https://tomcat.apache.org/위의 톰캣 홈페이지에서 다운로드 받아서 설치하는 WAS 는 [ apache 웹서버 + 톰캣 ] 인 것으로 알고 있습니다. 용어가 apache tomcat 이라서 그렇게 알고 있습니다. 제가 잘못 알고 있는 것인가요? 다운로드 받아서 설치하는 방식도 apache 웹서버 없는 순수 tomcat 인가요? 질문 2.스프링부트에 내장된 tomcat 은 [ apache 웹서버 + tomcat] 인가요? 아니면, apache 웹서버가 제외된 순수 tomcat 만 내장되어 있는 것인가요? 질문 3.질문 2 에 대한 답이 순수 tomcat 이라면,실제 서비스 운용시, 스프링부트로 작업한 웹어플리케이션 앞단에 apache 또는 nginx 웹서버를 반드시 붙여서 하는 것이 일반적인지요?아니면, 스프링부트로 작업한 내장 tomcat 웹어플리케이션 만으로 서비스를 하는 것이 더 일반적인지요?
- 미해결스프링 부트 - 핵심 원리와 활용
server 프로젝트에대해 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. servlet에서 처음 프로젝트강의하는거보다가 궁금한게 있어서 질문드립니다.server프로젝트에 mybatis를 연계를 하고싶은데.방법이 있을까요?기존에 이클립스에서 스프링을하다보니..web.xml파일은 어디에 설정해줘야하는지 궁금합니다. 두서없는글이지만 읽어주셔서 감사합니다.
- 미해결스프링 부트 - 핵심 원리와 활용
AppInitV1Servlet 사용시 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 안녕하세요, AppInitV1Servlet 를 사용할때, 02 pdf. 21쪽 HandlesTypes 를 사용하지도 않았는데, 어떻게 AppInitV1Servlet이 등록 된 것인가요..? MyContainerInitV2에서는 서블릿컨테이너 초기화 시점에, @HandlesTypes(AppInit.class)를 통해 지정해 주어set<Class<?>> c.... 를 통해 넣는 것은 이해가 되는데,이 과정이 자동으로 일어난것인가요?자동으로 일어났다고 보기에, Appinit은 직접 만든 인터페이스여서 이해가 되지 않습니다... 설명 부탁드립니당
- 미해결스프링 부트 - 핵심 원리와 활용
Jar 파일로 서버 실행 시키키 VS IDE에서 서버 실행시키기
안녕하세요. 지금까지 영한님의 강의를 잘 들어온 수강생입니다. 지금까지 들었던 강의들을 기반으로 현재 프로젝트를 진행하고 있는데, 프로젝트를 진행하던 중 도저히 이유를 알수가 없는 문제가 생겨서 해당 질문이 강의의 내용과 무관함에도 불구하고, 질문을 올리게 되었습니다.문제 상황은 다음과 같습니다.프로젝트를 IntelliJ 상에서 실행하는 경우에 특정 HTTP 요청이 정상적으로 처리가 되는데, 동일한 소스코드를 기반으로 IntelliJ에 있는 Gradle의 bootJar로 Jar 파일을 생성한 뒤, 터미널에서 "java -jar 파일이름.jar" 커맨드를 통해 서버를 실행시키면 위에서 보낸 요청과 동일한 요청이 정상적으로 처리가 되지 않습니다.동일한 소스 코드에 단지 IDE 상에서 실행시키느냐, bootJar로 Jar 파일을 만들어 실행시키느냐 그 차이만 존재하는데, 한쪽은 제대로 동작하고, 다른 한쪽은 제대로 동작하지 않으니 도대체 무슨 이유로 동작하지 않는건지 모르겠습니다.혹시 의심해볼만한 부분이 있다면 알려주시면 감사하겠습니다.
- 미해결스프링 부트 - 핵심 원리와 활용
스프링부트 버전 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 영한님! 이번 강의에서 프로젝트 생성하실 때 "스프링 부트 3.x 대 이상으로 하셔야 합니다" 라고 말씀해주셨는데 2.x대 버전이 아닌 3.x 대로 해야하는 특별한 이유가 있을까요~? 3.x 대의 업데이트에 대한 내용은 공식문서와 많은 블로그에 나와있어서 확인을 했는데 혹시 강의에 있어서 특별한 이유가 있는지 궁금합니다~!
- 미해결스프링 부트 - 핵심 원리와 활용
라이브러리 관련 질문
안녕하세요.김영한 강사님. Spring boot 프로젝트를 라이브러리(jar)로 만들 때 질문이 있습니다. Spring boot에 있는 내장 tomcat과 관련해서 여쭤보고 싶습니다.(Spring boot 플러그인을 사용하는 경우) Spring boot를 쓰는 프로젝트를 라이브러리로 만들고,다른 Spring boot프로젝트에서 쓰는 경우 내장 tomcat 관련 문제는 없나요?(exclude module: 'spring-boot-starter-tomcat'로 라이브러리가 된 프로젝트에서 tomcat은 제외했습니다) 혹시 만약 문제가 있을 경우에는 보통 어떻게 대처하나요? 추가로 개인 프로젝트에서 비슷한 상황에 대한 질문이 있습니다.spring boot 프로젝트에서 redis를 사용하고 있습니다. redis의 repository를 사용하고 있습니다.(org.springframework.data.repository.CrudRepository) 이걸 다른 spring boot 프로젝트에서 사용할 때,저 repository bean을 생성을 못 하는 것 같은데 라이브러리를 쓰는 프로젝트에서 main에 @ComponentScan으로 라이브러리의 패키지를 주면 그때는 생성합니다. 자동구성 설정에서 scan 범위 관련해서 설정하는 게 있을까요?
- 미해결스프링 부트 - 핵심 원리와 활용
스프링 액츄에이터 build info 표시 안 됨 문의드립니다.
안녕하세요.김영한 선생님 강의를 수강하며 따라가던 중 액츄에이터 수업을 듣는 부분까지 왔습니다.엑츄에이터에서 제공하는 엔드포인트 중 build에 대한 정보를 노출하는 부분이 있는데, 해당 부분에서 문제가 발생해 진도를 못나가고 있습니다.수업과 같이, build.gradle에 해당 코드를 추가했습니다..... springBoot { buildInfo() }코드 추가 후 build하여 프로젝트 폴더의 build/resources/main/META-INF/build-info.properties 파일이 생성된 것을 확인했고, 내용은 다음과 같습니다.build.artifact=actuator build.group=hello build.name=actuator build.time=2023-06-01T08\:10\:08.314770Z build.version=0.0.1-SNAPSHOT마지막으로, 현재 application.yml 파일에 설정한 내용입니다.management: endpoints: web: exposure: include: "*" info: env: enabled: true info: app: name: hello-actuator company: yh혹시 제가 잘못 이해하고, 설정한 것이 있을까요..?도움을 구합니다 ㅜㅜ
- 미해결스프링 부트 - 핵심 원리와 활용
Actuator , gradle-git-properties plugin remote build 문의.
안녕하세요aws code pipeline를 통해서remote build를(code build) 통해 docker image를 배포하여 사용중인데요.로컬에서는 .git폴더를 도커 카피 파일에 추가하여 정상적으로 이미지 푸시가 완료되는것까지확인하였는데, 원격지에서는 .git 폴더가 없으니 인식이 안되는것 같은데이런 경우 원격지에서 com.gorylenko.gradle-git-properties plugin을 사용하여actuator 내에 git 정보를 포함시키고 싶은 경우 어떻게 해야하나요??저장소는 git hub private repository를 사용중입니다.
- 해결됨스프링 부트 - 핵심 원리와 활용
액츄에이터 - 애플리케이션 정보의 build 출력 질문입니다.
(환경 : Windows 10, Java 17, SpringBoot 3.0.2)안녕하세요. 액츄에이터 - 애플리케이션 정보(info)에서 build 정보를 출력하는 것 관하여 질문이 있습니다.build.gradle에 buildInfo()를 추가하고 애플리케이션을실행하면 resources/main/META-INF/build-info.properties 파일을 확인할 수 있다고 하셨는데, 저는 만들어지지 않았습니다. (META-INF 디렉토리 자체가 없었습니다)build and run이 IntelliJ로 되어 있어서 그런 것 같아 Gradle로 변경하여 실행하니 에러가 발생했습니다. finished with non-zero exit value 1우선 해당 경로를 확인하니 build-info.properties가 생성되어 있었습니다. 생성된 것을 확인하고, 에러를 해결하기 위해 build and run을 IntelliJ로 바꾸고 실행했습니다. info를 요청하니 build 정보는 여전히 출력되지 않았습니다. 이 문제를 어떻게 해결할 수 있을까요?항상 좋은 강의 감사합니다.
- 미해결스프링 부트 - 핵심 원리와 활용
FatJar에 대해 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. jar -xvf embed-0.0.1-SNAPSHOT.jar압축을풀면아래와같은 디렉토리가 생성됨과 동시에jar풀면서 오류가 발생하는데 이게 맞을까요??,,혹시 해결방법이 있는지 문의드립니다.
- 미해결스프링 부트 - 핵심 원리와 활용
wls2 에서 도커로 프로메테우스 띄운것에 관하여
저는 wsl2에서 spring-actuator를 실행하고 있습니다.wsl2 ip = 192.168.31.32 라 설정을 다음과 같이 했습니다. scrape_configs: - job_name: "prometheus" static_configs: - targets: ["192.168.31.32:9090"] - job_name: "spring-actuator" metrics_path: '/actuator/prometheus' scrape_interval: 1s static_configs: - targets: ['192.168.31.32:8080'] docker run --name prometheus -p 19090:9090 -v /home/tony/vscode/boot-source-20230228/start/prometheus-grafana/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus9090이 wsl2에서 netsh interface ipv4 show excludedportrange protocol=tcp 명령어를 쳤을때 exclude 에 속한 포트라 19090으로 뚫었습니다.하지만 spring은 잘 연결되는데 prometheus 자신은 되지를 않네요 설정을 19090으로 해도 안되고 별 짓을 다해봤는데혹시 되시는 분 있으신가요?
- 해결됨스프링 부트 - 핵심 원리와 활용
액츄에이터 URL 경로에 스프링 인터셉터 적용 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]안녕하세요!수업 마지막에 URL 경로에 인증 설정을 하는 방법으로 서블릿 필터, 스프링 인터셉터, 스프링 시큐리티를 안내해 주신걸 보고/actuator URL 경로에 인증 설정을 하려고 인터셉터를 생성해서 적용해보고 있었습니다.아무리 해도 적용이 안되어서 이리 저리 찾아보니..actuator 엔드포인트의 경우에는 Dispatcher를 통하지 않는 모양이더라고요. 그래서 인터셉터도 동작하지 않는 모양인데, 저는 기존에 관리자 인증 용도로 만들어둔 인터셉터가 있어서 그걸 활용하고 싶어서 어떻게든 등록을 하려고 했습니다.https://github.com/spring-projects/spring-boot/issues/11234여기 있는 이슈를 참고해보면, 결론적으로는 인터셉터가 아닌 필터를 사용하라고 하는데요.그래도 선생님께서 수업에서 스프링 인터셉터를 언급해 주셔서 혹시나 actuator 경로에 인터셉터를 적용해서 사용하는 방법이 있는지, 궁금합니다 아래와 같이 WebMvcEndpointManagementContextConfiguration을 확장 해서 인터셉터를 추가하고, 의도대로 작동하는 것 까지는 확인을 하긴 했는데 아무래도 좋은 방법은 아닌 것 같아서요. 혹시 방법이 없을까요? @Configuration class ActuatorConfig( private val authService: AuthService, private val jwtConfig: JwtConfig, @Value("\${server.ssl.enabled}") private val isSecure: Boolean ) : WebMvcEndpointManagementContextConfiguration() { override fun webEndpointServletHandlerMapping( webEndpointsSupplier: WebEndpointsSupplier?, servletEndpointsSupplier: ServletEndpointsSupplier?, controllerEndpointsSupplier: ControllerEndpointsSupplier?, endpointMediaTypes: EndpointMediaTypes?, corsProperties: CorsEndpointProperties?, webEndpointProperties: WebEndpointProperties?, environment: Environment? ): WebMvcEndpointHandlerMapping { val webEndpointServletHandlerMapping = super.webEndpointServletHandlerMapping( webEndpointsSupplier, servletEndpointsSupplier, controllerEndpointsSupplier, endpointMediaTypes, corsProperties, webEndpointProperties, environment ) webEndpointServletHandlerMapping.setInterceptors( JwtAuthInterceptor( authService, jwtConfig.tokenValidityInSeconds, isSecure ) ) webEndpointServletHandlerMapping.setInterceptors(AdminAuthInterceptor()) return webEndpointServletHandlerMapping } }
- 해결됨스프링 부트 - 핵심 원리와 활용
오타 제보
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.강의자료 9. 마이크로미터, 프로메테우스, 그라파나.pdf마이크로미터라(Micrometer)는 -> 마이크로미터(Micrometer)라는
- 미해결스프링 부트 - 핵심 원리와 활용
tomcat runner 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요, 다른 분들도 겪으셨던 것 같은데 해결방안은 딱히 없는 것 같아서 다시 글 올립니다.저도 tomcat runner를 edit configuration에서 추가하려고 하면 설정창이 안뜨고 먹통인 문제를 겪고 있습니다.(캡쳐는 다른분들이 올려주신 질문글과 동일.)기존에 IntelliJ Edu를 쓰고 있었는데 tomcat runner가 검색이 되지 않아 community 버젼을 새로 깔았고 이때문에 idea는 완전 깨끗한 상태입니다; (당연히 캐시를 삭제해봐도 개선이 되지 않습니다.환경은 아래와 같습니다.소스코드: 강의제공 코드자바 버전 : 17 (oracle jdk 17.0.7-macos-aarch64)OS : Mac (Apple M1 Ventura 13.2.1)인텔리제이 커뮤니티 버전: 2023.1.1캐시삭제 외에 시도할 수 있는게 있다면 알려주세요.감사합니다.
- 미해결스프링 부트 - 핵심 원리와 활용
intellij 무료버전 tomcat runner 무반응으로 강의 진행이 불가능합니다.
https://www.inflearn.com/questions/856870/intellij-%EB%AC%B4%EB%A3%8C%EB%B2%84%EC%A0%84-tomcat-runner-%EC%8B%A4%ED%96%89-%EC%98%A4%EB%A5%98이 글과 동일하게 configuration에서 tomcat runner를 클릭해도 무반응입니다.plugin이 설치되어 있고 활성화 된 상태인데 제대로 작동이 안되네요.캐시 삭제를 해도 해결되지 않습니다. 다른 plugin들은 설치 시 잘 작동합니다.
- 해결됨스프링 부트 - 핵심 원리와 활용
테스트 코드 on demand static import 관련 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (있을 수 있는데 못찾았습니다.)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]안녕하세요..!테스트 코드 작성하실 때 import static org.assertj.core.api.Assertions.*;이렇게 스태틱 임포트하시는 이유가 궁금합니다.Assertions.assertThat(bean).isNotNull(); assertThat(bean).isNotNull(); -> 스태틱 임포트두 코드의 차이가 궁금합니다.테스트코드인 것과 관련이 있다고 생각하고 있습니다.하지만 조금 더 구체적인 이유를 알려주시면 감사하겠습니다.