inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

안녕하세요.

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요, 먼저 정말 기다리던 강의를 드디어 볼 수 있게돼서 감사하다는 말씀을 드립니다! 강의를 따라가던 중 문제가 발생하여 조언을 구하고자 질문을 드립니다. 김영한 팀장님의 기존 인강에서는 [Settings] -> [Build Tools] -> [Gradle] 에서 Build and run using / Run tests using 모두 'IntelliJ IDEA'로 설정 후 강의를 진행하셔서 저도 그렇게 강의를 모두 수강했고 현재 혼자 개발 중인 서비스도 'IntelliJ IDEA' 로 설정해서 진행 중입니다. 이번 스프링 MVC 1편 인강에서는 섹션2 - 프로젝트 생성에서부터 Build and run using 을 'IntelliJ IDEA' 로 설정하면 다음과 같은 에러가 발생하고, Run tests Using 을 'GRADLE'로 설정하면 또 다음과 같은 에러가 발생합니다. [Build and run using - 'IntelliJ IDEA' 설정 후 Application Run 한 상황 ] 2021-03-15 11:16:43.740 INFO 12576 --- [ main] travelbeeee.sec02.Sec02Application : Starting Sec02Application using Java 14.0.2 on DESKTOP-SJ3E1UQ with PID 12576 (C:\Users\HyunSeok\Desktop\studyWithMe\gitHub\studyWithMe\스프링MVC1편\sec02\out\production\classes started by HyunSeok in C:\Users\HyunSeok\Desktop\studyWithMe\gitHub\studyWithMe\스프링MVC1편\sec02) 2021-03-15 11:16:43.744 INFO 12576 --- [ main] travelbeeee.sec02.Sec02Application : No active profile set, falling back to default profiles: default 2021-03-15 11:16:44.376 WARN 12576 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Unexpected exception during bean creation; nested exception is java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet 2021-03-15 11:16:44.385 INFO 12576 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2021-03-15 11:16:44.406 ERROR 12576 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Unexpected exception during bean creation; nested exception is java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:537) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:196) ~[spring-context-5.3.4.jar:5.3.4] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:745) ~[spring-context-5.3.4.jar:5.3.4] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:563) ~[spring-context-5.3.4.jar:5.3.4] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1311) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) ~[spring-boot-2.4.3.jar:2.4.3] at travelbeeee.sec02.Sec02Application.main(Sec02Application.java:13) ~[classes/:na] Caused by: java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet at org.springframework.boot.web.servlet.WebServletHandler.<init>(WebServletHandler.java:39) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.web.servlet.ServletComponentRegisteringPostProcessor.<clinit>(ServletComponentRegisteringPostProcessor.java:49) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.boot.web.servlet.ServletComponentScanRegistrar$ServletComponentRegisteringPostProcessorBeanDefinition.lambda$getInstanceSupplier$0(ServletComponentScanRegistrar.java:94) ~[spring-boot-2.4.3.jar:2.4.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1231) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1173) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.4.jar:5.3.4] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.4.jar:5.3.4] ... 14 common frames omitted Caused by: java.lang.ClassNotFoundException: javax.servlet.annotation.WebServlet at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na] ... 21 common frames omitted Process finished with exit code 1 [ Run tests Using 을 Gradle로 설정 후 Test 를 빌드한 상황 ] > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :compileTestJava UP-TO-DATE > Task :processTestResources NO-SOURCE > Task :testClasses UP-TO-DATE > Task :test FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///C:/Users/HyunSeok/Desktop/studyWithMe/gitHub/studyWithMe/스프링MVC1편/sec02/build/reports/tests/test/index.html * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 1s 4 actionable tasks: 1 executed, 3 up-to-date 설정을 아래 사진과 같이 바꿔주면 문제가 없어서 당장 수업을 듣는데는 지장이 없지만, 구글링을 해봐도 이유를 알아내기 어려워 조언을 구하고자 질문을 남깁니다.

  • spring
  • MVC
이현석 댓글 2 좋아요 3 조회수 16004

JSON 형태로 리턴할 때 질문

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

HelloData 같은 경우는 username과 age 라는 2개의 데이터를 가지고 있어서, dto를 만들어서 반환하는게 맞지만 만약 한 개의 데이터를 json 형식으로 리턴하고 싶을 때는 어떻게 하나요?? 예를들어 username만 리턴하고 싶은 경우에 dto를 만드는 것은 비용적으로 아깝다고 생각이 들어서요

  • spring
  • MVC
syh 댓글 1 좋아요 1 조회수 366

mask rcnn 학습에 관해서

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요 강의 너무나 잘 듣고 있습니다. 정말 감사드립니다. mask를 학습하는 부분에서 궁금한 점이 있어 질문드립니다. 1. RPN에서 예측해준 바운딩 박스를 align한 최종 14x14x80 feature를 대상으로 mask 를 각 그리드별로 클래스가 positive냐 negative인가만 분류하는 것으로 이해했는데요, 이를 학습하려면 실제 이미지의 각 ground truth box를 14x14로 맞추고 각 그리드의 80개 채널들에 정답을 넣어준 후에 두 14x14x80의 cross entrophy 로 back prop하면 되는 것으로 이해했는데 맞나요? 2. 1번에 대한 이해가 맞다면, 이렇게 해서 나온 3개의 예측값, a.클래스 예측값 b.바운딩 박스 좌표 예측값 c.14x14크기의 마스크 예측 들을 이용해서 14x14크기의 마스크를 예측된 바운딩 박스 좌표 크기에 맞게 resize하고 거기에맞게 마스크값도 할당하고 이를 실제 이미지에 덮어씌운다. 이렇게 하면 바운딩 박스를 그리는 것과 함께 바운딩 박스안에 해당하는 클래스부분 픽셀만 다른 컬러로 구분할 수 있다. 이런식으로 이해했는데, 잘못 이해한 부분이 있다면 지적 부탁드립니다. 감사합니다.

  • 딥러닝
  • keras
  • 머신러닝 배워볼래요?
  • tensorflow
  • 컴퓨터-비전
  • python
좋은 가자미 댓글 5 좋아요 1 조회수 452

Test method 접근제어자 질문드립니다.

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요. 강의를 듣던 중 테스트 메소드 접근 제어자에 궁금한점이 생겨서 질문드립니다. [회원 리포지토리 테스트] @Test public void save() { ... } [서비스 테스트] @Test void join() { ... } 이전 회원 리포지토리 테스트 코드에서는 위 코드와 같이 public로 선언했었지만, 이번 강의에서 Create Test 단축키로 생성한 테스트 메소드들은 public가 아닌 default로 선언되었습니다. default로 메소드를 선언했을 때 테스트를 수행하는데 문제가 없었는데 강의 코드에서 public으로 메소드를 선언하는 이유는 무엇인가요?

  • java
  • spring
  • spring-boot
  • MVC
도호 댓글 1 좋아요 0 조회수 482

Optional 사용 방법에 대해서 질문드립니다.

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

1) Optional<Member> result = memberRepository.findByName(member.getName()); 2) Member result = memberRepository.findByName(member.getName()).get(); 1. 위 코드에서 2번의 방법보다 1번 같은 사용법을 권장한다고 하셨습니다. 1) memberRepository.findByName(member.getName()) .ifPresent( m -> { throw new IllegalStateException("이미 존재하는 회원입니다."); }); 2) Optional<Member> result = memberRepository.findByName(member.getName()); result.ifPresent( m -> { throw new IllegalStateException("이미 존재하는 회원입니다."); }); 2. 또한 바로 위의 코드에서도 2번의 방법보다 1번의 방법 사용을 권장한다고 말씀하셨습니다. 위 방법들이 권장되는 이유가 궁금합니다. 또 권장되는 Optional 사용법 같은게 따로 문서로 존재하는건가요?

  • java
  • spring
  • spring-boot
  • MVC
도호 댓글 1 좋아요 0 조회수 367

[공유] 스프링 form, spring 태그 500 오류

미해결

윤재성의 만들면서 배우는 Spring MVC 5

질문게시판을 보니 6달 전에도 저와 같은 문제를 겪으신 분이 있었네요. 제가 겪은 오류는 taglib prefix="form"과 taglib prefix="spring" 사용 시 500 오류 가 발생하는 것이었습니다. 인터넷을 일주일을 검색하며 왠만한 여러가지 방법들은 전부 시도해본 것 같습니다. 그래도 해결이 안되었습니다. -------------오류 내용--------------------------- 절대 URI인 [http://www.springframework.org/tags/form]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다. 절대 URI인 [http://www.springframework.org/tags]을(를), web.xml 또는 이 애플리케이션과 함께 배치된 JAR 파일 내에서 찾을 수 없습니다. --------------------------------------------------------------- 보고 또 보았던 오류메세지를 보던 중 문득 'Maven dependencies엔 필요한 jar 파일들이 다 다운로드가 된 것 같은데..., 다 있는데 왜 못 찾는다는 걸까' 하는 생각이 들어 WEB-INF 폴더 하위 lib 폴더 안에 spring webmvc jar 파일을 직접 넣었습니다. 또는 tomcat이 설치된 경로의 lib에 spring webmvc jar 파일을 넣으면 WEB-INF/lib 에 넣지 않아도 잘 실행이 됩니다. 저같은 경우는 이 방법으로 오류가 해결되었습니다. 아직도 이전에 오류가 왜 발생했는지 모르겠고 이렇게 하니까 왜 되는지 모르지만 같은 오류로 고생하시는 분이 있을까 하여 공유드립니다.

  • form
  • XML
  • spring
  • java
  • taglib
  • spring
  • 500
  • 16강
  • MVC
  • 17강
  • 29강
hello world 댓글 2 좋아요 4 조회수 5879

오류 관련해서 질문드립니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

HelloServlet을 만들고 처음 실행 후 다음과 같은 에러가 나옵니다. 어떻게 해야될지 모르겠어서 질문드립니다. ㅠ

  • MVC
  • spring
여소망 댓글 6 좋아요 0 조회수 1645

서블릿과 서블릿 컨테이너의 역할에 대한 질문입니다.

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

강의자료 8p에서 WAS에서 HTTP 요청 메세지를 기반으로 request 와 response 객체를 생성해서 서블릿에게 전달한다는 그림이 있는데 강의자료 12p의 HttpServletRequest 의 역할에 보면 서블릿이 HTTP 요청 메세지를 파싱하여 HttpServletRequest 에 담에서 제공한다고 되어있습니다. 이부분에서 정확히 HTTP 요청 메세지 파싱과 request 와 response 객체의 생성에 대한 책임이 WAS에 있는지 서블릿에 있는지 애매모호해서 질문드립니다!

  • spring
  • MVC
안시원 댓글 1 좋아요 3 조회수 343

스프링 부트 사용시 WebMvcConfigurerSupport 클래스

해결됨

스프링 웹 MVC

항상 좋은강의 감사드립니다! spring-boot-web-starter 를 사용하면 추이적으로 JacksonJSON2 의존성이 추가되고 WebMvcConfigurerSupport 에 클래스패스에 HTTP 메세지 컨버터 관련 의존성이 있으면, DispathcerServlet 이 사용할 HTTP 메세지 컨버터로 추가해주는 기능이 구현되어 있음으로, 부트를 사용하면 추가적인 설정없이도 JacksonJSON2 HTTP 메세지 컨버터를 사용할 수 있다고 이해했습니다. 그리고, 앞선 강의에서 스프링 부트가 제공하는 자동설정을 사용하기 위한 조건에는 WebMvcConfigurerSupport 타입의 클래스가 빈으로 등록되어있지 않아야하는 조건이 있는것을 확인했습니다. 그렇다면 JacksonJSON2 HTTP 메세지 컨버터를 등록할 때 WebMvcConfigurerSupport를 사용하긴하지만 빈으로 등록하지 않고 사용하는 것이라고 이해하면 될까요? 감사합니다!

  • java
  • MVC
  • spring
jaden 댓글 1 좋아요 0 조회수 269

Autowired 질문드립니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 ^^ 항상 강의 감사하게 듣고 있습니다! @Autowired public MemberController(MemberServcie service) {} 생성자 방식으로 주입할때 생성자 함수위에 autorwired를 생략해도 동작하던데 실무에서는 생략을 많이 하나요? 그리고 생략을 한다면 설명을 위해서 작성을 하신건가요?

  • java
  • MVC
  • spring
  • spring-boot
jung 댓글 2 좋아요 1 조회수 191

thymeleaf가 URI is not registered가 뜹니다

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

thymeleaf가 URI is not registered가 뜹니다 스프링부트 생성 때 의존성추가 했고 마켓플레이스에서는 thymeleaf를 검색해도 나오지 않는데 무엇을 잘못했을까요?ㅠㅠ 스프링은 2.4.3 자바 11입니다

  • java
  • spring
  • spring-boot
  • MVC
dydalsdl78 댓글 2 좋아요 0 조회수 799

실행하면 'No module named blog_abtest'라는 문구가 뜹니다.

미해결

[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]

강사님 항상 유익한 강의해주셔서 정말 감사드립니다! 다름이 아니라 blog_abtest.py 파일을 실행하면 터미널에 아래와 같이 'No module named blog_abtest'라는 문구가 뜨면서 실행이 되지 않습니다. 뭐가 문제인지 찾아봐도 잘 모르겠어서 질문을 남기게 되었습니다ㅠㅠ 항상 좋은 강의 감사합니다!

  • flask
  • flask
  • python
  • rest-api
  • python
장덕수 댓글 1 좋아요 0 조회수 301

@repository에 관하여

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 @Repository가 MemberRepository를 구현한 MemoryMemberRepository에 붙어있는데요 만약 MemberRepository를 구현한 DBMemberRepository라는 클래스가 하나 더있고 여기에도 @Repository가 붙어있다면 MemberService에서는 어떤 Repository를 주입시켜주나요? 읽어주셔서감사합니다.

  • java
  • MVC
  • spring
  • spring-boot
공부해보자 댓글 1 좋아요 1 조회수 294

Autowired순서

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 강의를 듣던 중 궁금한점이 생겨 질문드리게되었습니다. MemberService에서 @Autowired 를 통해 MemberRepository를 주입시키는 과정에서 MemberRepository가 MemberService 보다 먼저 빈등록이 되어있다면 문제가 없겠지만 MemberRepository가 MemberService 보다 늦게 빈등록이 될경우 문제가 생길것 같은데 어떻게 작동하나요? 즉, 빈등록되는 순서가 궁금합니다. 읽어주셔서 감사합니다

  • spring-boot
  • MVC
  • spring
  • java
공부해보자 댓글 1 좋아요 0 조회수 261

안녕하세요 강사님

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 강사님 질문있습니다. 강의 목록 중에 "실전! 스프링 웹 MVC 출시 예정 - 2월" 인 부분이 있는데 언제 나오는지 알 수 있을까요??

  • spring
  • spring-boot
  • java
  • MVC
댓글 1 좋아요 0 조회수 146

코드 내용 질문 있습니다~!

미해결

[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]

@app.route("/first/<username>") def get_first(username): return "<h3>Hello"+username+"!</h3>" 여기서 어떻게 @app.route("/first/<username>") 이 <username>은 문자열인데 문자열안을 변수처럼 받아들일수가 있는지 이해가 되지가 않습니다..ㅠㅠ 강의와 관련있는 질문 을 남겨주세요. &bull; 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) &bull; 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) &bull; 서비스 운영 관련 질문은 인프런 우측 하단 &lsquo;문의하기&rsquo; 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. &bull; 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. &bull; 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. &bull; 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. &bull; 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. &bull; 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. &bull; 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . &bull; 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. &bull; 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. &bull; 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. &bull; 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다.

  • python
  • rest-api
  • flask
검정색지팡이 댓글 1 좋아요 0 조회수 187

모든 경우를 탐색하지 않아도 되는 이유가 무엇인가요?

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

안녕하세요, 궁금한 점이있어서 질문드립니다. 2,3 1,4 3,5 4,6 5,7 로 정렬하여 찾는다 는 것 까진 이해했는데, 1,4 부터 탐색 3,5 부터 탐색 ... 같은 경우를 하지 않아도 되는 이유가 무엇인지 알수있을까요?

  • 코테 준비 같이 해요!
  • python
김종현 댓글 1 좋아요 0 조회수 204

도와주세요 ㅠㅠ 왜 오류가 나는지 모르겠네요

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

# 타입 출력까지는 괜찮은데, # 형 변환부터 출력할 때 오류가 떠요 ㅠㅠㅠㅠㅠ 왜 그런걸까요?

  • python
yjsm 댓글 4 좋아요 2 조회수 9982

의존성 주입 방식, 컴포넌트스캔과 자바설정방식 관련질문입니다

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요! 강의 너무 잘 보고 있습니다. 스프링 혼자 공부해보려다가 넘 어려워서 안하게 됬는데, 흥미롭게 진행해주시는 강의듣고 조금씩 알아가는 것 같아 스스로도 기쁘고 감사합니다.ㅎㅎ 질문1 [스프링 빈과 의존관계]-[자바 코드로 직접 스프링 빈 등록 하기] 강의 7분 26초 에서 setter 주입 방식의 단점으로 ... 어플리케이션 로딩 시점에 한번 세팅되고 나면 이 멤버변수는 바꿀 일이 없는데 public으로 노출되게 된다는 점이 단점이라고 설명해주셨습니다. 그런데 6분 0초 필드 주입방식을 설명해주실 때 단점으로... 스프링이 시작될 때, 초기에만 설정되고 개발자가 동적으로 바꿀 수 없어서 추천하지 않는 방식이라고 설명해주셨는데요! 질문은! 어플리케이션 로딩 시점에 한번만 세팅되면 되는 거면, 필드 주입방식에서 초기만 설정되고 나중에 바꿀 수 없다는 점이 왜 단점이 되는 건지 이해가 잘 안됩니다! 한번 더 단점을 정리해주실 수 있을까요? 질문2 [스프링 빈과 의존관계]-[자바 코드로 직접 스프링 빈 등록 하기] 강의 2분 40초 에서 memberRepository() 메소드 반환형을 왜 MemoryMemberRepository 타입으로 하지 않고, 인터페이스 타입으로 하신 건지 궁금합니다. + 11분 25초 부분까지 강의를 들으니 알겠네요. ^^상황에 따라 다른 데이터베이스를 연결하는 내용의 리포지토리를 연결할 때, 서비스나 컨트롤러 코드를 변경하지 않고, 아래 파일에서 new 하는 객체만 원하는 리포지토리로 바꿔주면 되니까 그런거군요! package hello.hellospring.service ; import hello.hellospring.repository.MemberRepository ; import hello.hellospring.repository.MemoryMemberRepository ; import org.springframework.context.annotation.Bean ; import org.springframework.context.annotation.Configuration ; @Configuration public class SpringConfig { // @Bean : spring bean 을 등록할 거라는 의미 @Bean public MemberService memberService (){ return new MemberService ( memberRepository ()); } @Bean public MemberRepository memberRepository (){ return new MemoryMemberRepository (); } } 질문3 : 컴포넌트스캔방시과 직접자바설정방식 차이 잘 이해한건지 확인부탁드립니다. 컴포넌트 스캔방식 : 스프링은 @Controller, @Service, @Repository 어노테이션이 붙은 것들을 빈으로 등록해 관리한다. @Autowired로 각 빈들을 연결해준다. 직접자바설정 방식 : @Configuration과 @bean으로 스프링에 빈을 등록한다. @Autowired로 각 빈들을 연결해준다. 그런데, 이 강의에서 직접 자바 config를 만들때, @Service, @Repository, @Autowired는 지웠는데, @Controller 은 지우지 않았습니다. 이유가 무엇인가요?

  • 스프링
  • 스프링입문
  • spring
  • 인프런
  • spring-boot
  • java
  • MVC
동해안청새치 댓글 2 좋아요 0 조회수 284

AWS 사용 중단 관련 문의

미해결

크롤링으로 웹, 텔레그램봇, REST API, 모바일 앱 만들기

안녕하세요, AWS Lightsail 사용 중단 하기 위해서는 어떻게 해야하는지 알 수 있을까요?? 강의 내용 모두 그대로 따라해서 AWS Lightsail 이용 하였구요. 강의 수강 후, 아래와 같이 처리하였는데요. 1) Lightsail 내 인스턴스 삭제 2) Lightsail 탄력적 IP 삭제 3) 깃허브에 올렸던 코드 삭제 그런데 계속 일별로 아주 소액이긴 하지만, 비용이 증가 / 청구 되고 있어서 문의드립니다.

  • rest-api
  • 웹-크롤링
  • Flutter
  • django
  • python
댓글 2 좋아요 0 조회수 311

인기 태그

인프런 TOP Writers

주간 인기글