묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
해결법 - The type org.springframework.context.ConfigurableApplicationContext cannot be resolved.
The type org.springframework.context.ConfigurableApplicationContext cannot be resolved. 이 에러를 많이들 맞이하시는것 같은데,, https://gocoder.tistory.com/721 이곳을 보니 .m2 > repository 를 지우고 maven 업데이트를 다시 하라고 합니다. 이렇게 하니 전 해결되었습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
코드로 직접 빈을 생성하는 부분에서 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 먼저 좋은 강의 정말 감사하게 듣고 있습니다. @Configuration 어노테이션을 붙인 클래스에서 코드로 직접 빈을 생성하는 부분에 대한 질문입니다. @Bean public MemberService memberService() { return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } 이 부분에서 MemberService 객체와 MemberRepository 객체를 생성하면서 Bean으로 등록하는 것으로 보입니다. 그럼 memberService Bean은 memberRepository()를 호출하면서 Service 객체에 종속되는 MemberRepository 객체를 가지게 되고, MemberRepository Bean은 또 새로운 객체를 가지게 되어서, 결국 MemberRepository 객체가 두 개가 되는 게 아닌가요? (Service의 멤버로 하나, Repository Bean 하나) 강의 영상을 보니까 제 생각이 틀린 것 같은데, 이 부분에 대해 어떻게 작동하는 건지 이해가 잘 안 됩니다. 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
글자수 제한 질문
강의 내용과는 조금 다른 부분이긴 한데 구글링을 어떤 키워드로 해야 될지 모르겠어서 질문드립니다 Been validation으로 글자수 제한할 때 띄어쓰기 제외할 수 있을까요? @Size(max = 5) 이렇게 어노테이션을 붙여주면 5자 이하로 제한하는 걸로 알고 있는데, 이러면 띄어쓰기 포함하는 걸로 알고 있거든요 "5자 제한임" - 이건 띄어쓰기 포함 6자인데 제외하면 5자라서 이것도 통과될 수 있도록 하는 옵션이 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Result 클래스 관련 질문입니다.
Result 클래스를 만들어서 response 데이터를 보냈습니다. 이때 제너릭으로 설정하신 이유가 있나요? 현재 아래 코드가 이런식입니다. static class Result<T> { private T data; } 그런데 제너릭을 쓰지 않는 반환용 DTO를 만들어서 static class ResultDto{ private List<OrderDto> orderDtos } 이렇게 하지 않는 이유가 있나요? 보통 실무에서는 어떤 방식을 주로 사용하시나요? 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
필터에 관련된 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 필터도 서블릿처럼 동작하는걸로 알고있고, 다만 디스페처서블릿전에 먼저 동작하는것으로 알고있습니다. 또 필터또한 서블릿컨테이너에서 관리되는것으로 알고있습니다. 서블릿이기때문이라고 생각합니다. 그런데 필터를사용하기위해서 webconfig에서 @Bean으로 스프링컨테이너에 필터를 등록해주는 작업을하는데요. 왜 두개의 컨테이너에 등록하는건가요? 중간에 잠시설명하신것중에 부트가 was를 내장하고있기때문에 @bean으로 스프링컨터네이너에 올라간다면 자동으로 서블릿컨테이너에도 필터가 등록되기때문인가요? 어떤 오개념이 있는지 알고싶습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
정적컨텐츠 관련 질문이요!
@Controllerpublic class HelloController { @GetMapping("hello-static") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; }} 위와 같이 컨트롤러를 만들었습니다. 따라서, localhost:8080/hello-static 을 입력하면template/hello.html로 이동되게 설정했습니다. 하지만, localhost:8080/hello-static.html을 입력하면 template/hello.html로 이동되지 않고 static/hello-static.html로 이동이 됩니다. 강의 내용에 따르면 localhost:8080/hello-static.html을 입력했을 때 hello-static 관련 컨트롤러가 없는 경우에 static/hello-static.html로 이동된다고 하신것으로 기억합니다. 그런데 hello-static 컨트롤러가 있는데도 왜 static으로 가게 되는지 궁금합니다!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Cause: invalid source release: 11
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Cause: invalid source release: 11 에러가 뜨는데 어떻게 해야하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
쿠키와 토큰의 차이가 무엇인가요?
쿠키와 토큰의 차이가 무엇인가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@RequestParam Map<String, Object> paramMap
안녕하세요, 14:43초 쯤 @RequestParam Map<String, Object> paramMap에서 String 대신 Object를 사용한 이유가 있을까요?? 감사합니다!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
패키지 구조 설계
패키지 구조 설계를 강의로 다루는 부분이 있을까요? 아직 제대로된 프로젝을 만든적이 없어서 패키지 구조 설계를 어떻게 해야할지 잘 모르는 상태입니다. 뭔가 알듯하면서도 잘 모르는게 개념이 확실히 안잡혀서 그런것같은데 혹시 패키지 구조 설계를 다루는 강의가 있을까요? 현재는 Spirng 로드맵대로 강의 보고있는중인데 jpa 강의쪽에서 패키지 구조 설계를 다루는지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
logout에 대해서
강의에서 보면 @PostMapping("/logout")public String logout(HttpServletResponse response) { expireCookie(response, "memberId"); return "redirect:/";} private void expireCookie(HttpServletResponse response, String cookieName) { Cookie cookie = new Cookie(cookieName, null); cookie.setMaxAge(0); response.addCookie(cookie);} 강의 코드가 위와 같은데요. 궁금한게 왜 굳이 POST 메서드로 컨트롤러 매핑을 했는지 궁금합니다 세션 쿠키는 어차피 요청시 값이 전달이 되어 GET으로 매핑해도 될것같은데 POST로 매핑한 이유가 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
4섹션 5번째 영상에서 @BeforEach로 감싸주는 이유가 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 이렇게 작성해도 테스트 정상적으로 실행되는데 어떤 이유가 있어서 BeforeEach에서 매번 new로 객체를 만들어주신건지 궁금합니다!
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
여태껏 들었던 강의 중 가장 불친절 한 강의
이 분은 진짜 글을 남겨야겠네요. 기본 적으로 강의 할 때 목소리 톤이 최소한의 겸손이 안되어 있는 느낌. "이건 당연히 아셔야 해요", "찾아보셔야 해요" <-- 이런 말투들도 최대한 이해하려고 노력 했음. 근데 가관은 bootstrap 코드를 자기가 copy&paste 해서 옮기는데 화면에 보여주지도 않음. 그거 하나하나 보면서 sign-up.html 파일 내용 기입하고 있어서 힘들었는데... 질문 게시판 답변 보니...그제서야 거기서 자기 git의 commit check out해서 옮기라네...참... 아니 강의를 하면서 그 때 그 때 말을 해주든가.. 불친절하고, 내용도 그냥 다 알아야 하는 것들 혼자 한 번 적용해보는 느낌. 새로운 내용이 나오면 그 내용을 친절하게 알려주면서 강의 노트에 있는 것도 아니고.... 그냥 말로 대충 지나가듯이 설명.... 좀 겸손하지 않으신 듯 해요. 강사 자체가...
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
리다이렉트 대신에 th:onclick 사용
@PostMapping("/add")public String addItemV3(Item item){ //자동적용 itemRepository.save(item); return "basic/item";} 리다이렉트를 꼭 서야하나 싶어, 주석부분처럼 th이용해 주소를 이동하면 편할거같아 시도했습니다. 상품등록 클릭 시, org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "item.id" (template: "basic/addForm" - line 38, col 17) 오류가 떴습니다. @Modelattribute에의해서 item.id 사용할 수 있을거라 생각했는데 오류원인을 모르겠습니다 ㅜㅜ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
인텔리제이가 css, js 파일을 인식하지 못합니다
인텔리제이에 sync 버튼도 없는데 어떡하죠? mvc 편에서 out 디렉토리에서 어떻게 해주시면 된다고 말씀하셨던 걸로 기억하는데 기억이 잘 안나네요ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
트래픽이 많은 상황에 대해 질문입니다
안녕하세요. 여태 배운걸 토대로 트래픽이 많은 상황에 대해서 생각해보고 있는데요. 클라이언트에서 order를 생성/변경하는 요청이 계속 들어온다고 생각해봤습니다. 각각의 요청에 대해서 결국 insert, 또는 update SQL이 생성될텐데요. 1. 그러면 클라이언트 1, 2, 3,,, 1000 이렇게 1000명이 동시에 요청해서 insert 또는 update를 하면, 1000개의 SQL이 각각 생성돼서 실행된다고 이해했는데 맞나요? 2. 위의 상황에서 제가 이해한 대로 1000개의 SQL이 각각 생성돼서 실행된다고하면, DB로 가는 네트워크에 부하가 생길수도 있을 것 같은데요. 이런게 문제되지는 않나요?? 혹시 이런 상황에 대해서 따로 처리하는 방법이 있는지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
DTO질문입니다.
DTO에대해서 말씀해주셨는데 해당강의에서는 createMemberForm을 DTO라고 생각하면 될까요??
-
미해결스프링부트 시큐리티 & JWT 강의
영상 13:41 초에 질문이 있습니다.
먼저 spring boot 2.6X 버전 java17 로 하고있습니다. 영상 13:41 에 BycryptPasswordEncoder 를 주입하면Spring 순환 참조가 걸리지 않는지 궁금해서 질문 남깁니다. 저는 순환참조에 걸려 PricipaOauth2UserService 에서new BycryptPasswordEncoder 로 생성을하여 따로 주어서해결을 했습니다. 감사합니다.
-
해결됨스프링 핵심 원리 - 고급편
이번 예제에서 Config 클래스에 @Configuration 을 적용하니, Proxy 래핑/등록이 안되는것 같습니다.
강사님 안녕하세요.저는 지금 예제 구현시 의도와 다르게 약간 틀린 설정으로 생긴예상밖의 결과로 약간 혼동을 겪고있습니다. 이유는 @Configuration 을 실수로 붙였더니, 아래와 같이Proxy 가 적용되지 않은 결과가 나옵니다. Config 클래스에 아래와 같이 @Configuration 선언시 @Configurationstatic class Config { ... ...} child.childMethod(); 실행 후 로그 메세지: child Proxy=class ...AtTargetAtWithinTest$Child(Proxy 적용이 안된 스프링 빈 출력) child.parentMethod(); Parent 는 프록시 처리가 되지 않아 출력되지 않음 관례처럼 사용해오던 @Configuration 을 지우니 강의 예제결과처럼 정상으로 나옵니다.(@Import 를 통해 Config 추가 상태) Aspect 를 빈으로 등록해도 Proxy 변환이 안되는 이 상황이 이해가 되지 않아 부득이하게 질문을 남기게 되었습니다. 질문입니다. 예전 강의에서 @Configuration 은 등록되는 빈 을 대상으로 싱글톤 후처리를 위해 선언되는 것이라 알고있었습니다.( CGLIB 을 통해 프록시 후처리), 그래서 Aspect 가 당연히 적용될 줄 알았는데 @Configuration 을 붙이니,Proxy 처리가 되지 않더라구요. 아래는 두가지 결과 입니다. @Configration Config @Import(Config.class) @Configuration 선언 시, Proxy 후처리가 되지 않는 기묘한 현상에 대한 이해가 잘 되지 않습니다.이런 이유로 Config 클래스에 @Configuration 을 쓰지않고, @Import 로 추가하신 이유가 궁금합니다. 읽어주셔서 감사드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
국제화 테스트 과정에서 글자깨짐
-