묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
질문에 대한 답을 아직 안알려주셔서 다시 질문 올립니다 !!
안녕하세요. 아래 링크에 질문을 올렸는데 혹시 해답을 들을 수 있을까요?? 주제는 JpaRepository 의 빈 생성에 대한 의존성 주입 관련 에러입니다. https://www.inflearn.com/questions/590677
-
미해결스프링 핵심 원리 - 기본편
JpaRepository를 이용할시 에러가 발생합니다.
안녕하세요. 스프링 입문강의에서 들었던 내용과 코드를 바탕으로 스프링 핵심강의를 듣고 있습니다. 그런데 해당 문제가 발생합니다. [ 문제점 ] 기존의 JpaRepository를 이용해 Repository의 빈을 등록해주는 코드를 사용해서 ApplicationContext 객체로 memberService, orderService 를 불러오면 아래와 같은 에러가 발생합니다. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'springConfig': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'xik.ShoppingMall.Repository.MemberRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 그래서 MemoryRepository 로 Bean을 등록해서 테스트해주니 에러가 해결됬습니다. 이 부분에 대해서 구글링 몇 시간동안 찾아봤는데 원인을 모르겠더라구요 그래서 제가 의심가던 부분은 이것입니다. JpaRepository로 MemberRepository를 구현하면 빈을 자동으로 등록해주는데 이게 ApplicationContext로 IoC컨테이너를 가져오는 코드인 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class); 이 부분에서 applicationContext 객체가 만들어지기 전에 아직 빈이 등록안되서 생기는 문제일까요??
-
미해결스프링 핵심 원리 - 기본편
테스트코드에 피라미터를 넣게되면 오류가 발생하는 이유를 알 수 있을까요??
안녕하세요. 해당 수업 실습중에 실수로 테스트코드에 피라미터를 넣게되었습니다. 그래서 피라미터를 지우고 테스트가 정상적으로 통과되는 것을 확인하긴 했는데 여기서 왜 테스트코드에 피라미터를 넣으면 오류가 발생하는지가 궁금하더라구요 그래서 구글링으로 찾아봤는데 그에 대한 해답이 정확히 없더라구요 ㅠㅠ 혹시 테스트코드에 피라미터를 넣게된다면 왜 오류가 발생하는지 알 수 있을까요?? 제가 실수로 작성했던 코드와 오류 메세지입니다. 에러 코드 :org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [java.lang.Long arg0] in method [void xik.ShoppingMall.Service.OrderServiceImpTest.createOrder(java.lang.Long,java.lang.String,int)].
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Validate예외처리 페이지 만들기
안녕하세요. 아래 코드에서 배운 중복회원 관리 부분에 예외 발생시 500에러가 뜨고 있잖아요?? 그런데 500에러가 뜨는게 아닌 예외 페이지를 따로 출력하도록 하고 싶은데 Service부분에서 @Controller 없이 페이지를 따로 불러올 수 있는 방법이 있을까요?? private void validateDuplicateMember(Member member) { Optional<Member> result = memberRepository.findByPhoneNumber(member.getPhoneNumber()); result.ifPresent(m ->{ throw new IllegalStateException("이미 가입된 휴대폰 번호입니다."); });}
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
insert문에 null이 아닌 default값이 들어옵니다.
안녕하세요. jpa예제에 phonenumber라는 객체 추가해줘서 실습중입니다. 그런데 김영한 강사님의 출력문이랑은 다르게 Hibernate: insert into member (id, name, phonenumber) values (default, ?, ?) 와 같이 null이 아닌 default 값이 들어옵니다. 이유를 찾아보니 아래 테이블 생성문에 문제가 있는것으로 보입니다. create table member( id bigint generated by default as identity, name varchar(255), phoneNumber varchar(255), primary key (id));여기서 by default 부분때문인것 같은데 이 ddl파일은phoneNumber빼고는 김영한 강사님과 똑같이 만들었다고 생각하는데저렇게 출력문이 다르게 나오는 이유가 뭔지 알 수 있을까요??감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테이블 컬럼 추가에 대해서 질문사항이 있습니다.
안녕하세요. 질문의 내용은 이렇습니다. 우선 phoneNumber라는 객체를 만들고, 테이블에도 추가해줬습니다.그리고 spring.jpa.hibernate.ddl-auto = none 를 사용해서JPA를 테스트하려고 했는데 자꾸 PHONE_NUMBER 이라는 컬럼명을 찾으면서 에러가 발생했습니다.그래서 phonenumber 또는 PHONENUMBER을 하니까 에러가 해결되었습니다.컬럼명을 설정하는데에 있어서 소문자 다음에 대문자를 적으면 (_) 가 붙는 규칙이 있는 것일까요??감사합니다.
-
미해결[개념은 호옹~, 실습 빡] 스프링 부트, 입문!
한글이 깨지는것 같아요
지금 스프링부트 입문 수업 초반 듣는중인데.. 한글을 웹페이지에 나오게 할려고 하면 ???로 표기가 되요
-
미해결스프링 핵심 원리 - 기본편
스프링 안드로이드 연동 실습을 해보고 싶은데 질문사항이 있습니다 !!
안녕하세요. 수업 잘 듣고 있습니다. 안드로이드에 [ 웹 뷰 ] 를 띄우는 형식으로 [ 회원가입,게시판 페이지 ] 를 하나 만들어 보려고합니다. 이럴 때는 보통 < 안드로이드 스튜디오에 스프링을 연동 > 시켜서 하는지 아니면 < 스프링부트를 인텔리제이로 띄워서 안드로이드 개발 > 을 진행하는지 궁금하네요. 보통 개발자들은 어떤 방식으로 진행할까요???
-
미해결자바 스프링부트 활용 웹개발 실무용
부트 로그인 화면
스프링 부트를 사용하여 로그인 로직 구현중에 있는데요 최초로그인을 할경우 비밀번호를 변경하고 싶어요 ㅠㅠㅠ 근데 최초로그인을 어떻게 만들어야 되고 어떻게 구현할지 잘모르겠어요 ㅠㅠㅠ 구글링 찾아봐도안나와서 문의 드립니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
@Transactional 관련 커넥션풀 반환 원리 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 아니오[질문 내용]안녕하세요. 커넥션풀 반환에 관련되서 질문드리고자 합니다. 서비스단의 메소드에 @Transactional 을 사용해서 생성된 프록시의 마지막에 커넥션을 반환하는것으로 이해해습니다. @Transactional은 보통 update,insert,delete 쿼리가 존재하는 곳에 붙이는 것으로 알고 있는데요. 단순히 조회만하는 메서드에서 @Transactional을 안붙여도 어떻게 커넥션 풀이 반환되는지 궁금합니다. Service.java 코드에서 가령 10개의 메서드가 있는데 1개만 @Transactional이 붙여도 해당 클래스는 프록시가 생성되어 모든 메서드에 커넥션 풀이 반환되는 부분이 들어가는것으로 이해됩니다. 그렇다면 controller에서 바로 repository 메서드(select, update, insert, delete 등)를 호출해도 커넥션풀이 반환되는걸까요? 반환이된다면 원리가 궁금합니다. ※ 추가질문강의 내용 일부 중 JPA 트랜잭션 코드 예시에서 엔티티매니저 종료 & 엔티티 매니저 팩토리 종료 부분이 있는데 해당 부분이 커넥션 풀을 반환하는 것으로 이해하면 될까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
커리큘럼 질문드립니다
[질문 내용]안녕하세요 영한님 저는 국비 학원을 5달째 다니고 있는 문과생 늦깍이 취준생입니다. 컴퓨터의 세상은 정말 방대하고 어렵네요..이때까지 공부해 본 어떤 것보다 어려운 것 같아요.ㅎㅎ 영한님께 제 상황에 맞은 조언을 얻고 싶어 질문드립니다. 학원에서는 자바, jsp, 서블릿을 배웠고 특히 서블릿은 따라쳐보고 이해하려고 노력했는데 뭘 잘 아는 것 같지는 않습니다. 그냥 대충 흐름만 이해하고 넘어갔어요. 영한님 강의는 스프링 입문, 스프링 핵심원리,http기본 지식까지는 수강했고 수업 듣고 이해하려고 해보고 안되면 넘어가고 나중에 또 중요한 건 나오겠지 이러면서 정신 승리하면서 공부하는 중입니다. 친절하게 잘 알려주시고 큰 숲을 볼 수 있게 그려주시니까 좋은 것 같아요. 근데 마음 급한 학생은 뭔가 속성으로 빠르게 배워서 당장 포트폴리오를 만들어야 하는데(3주정도) 영한님 로드맵을 보려니 너무 막막합니다 ㅠㅠ 학원에서는 스프링부트로 게시판 만드는 것을 이번주부터 수업을 하는데 사실 수업일수가 별로 안 남아서 강사님이 수업을 다 진행해 주실지도 의문이에요. 이렇든 저렇든 이제 수료까지 3주 정도 남았고 팀원들과 스프링부트로 웹프로젝트를 하나 만들어야 합니다. 지금 상황에서 mvc1,2편 안 듣고 실전 스프링부트와 jpa활용을 들어도 될까요? 지금 상황에서 어떻게 들으면 효율적으로 공부할 수 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
영한님 스프링 커리큘럼에 관해 질문 있습니다.
안녕하세요 영한님. 저는 현재 프리랜서 개발자로 일하고 있는데 기술 스펙트럼을 늘리고자 강의를 구매해서 듣고 있습니다. (자바는 처음접합니다) 제가 원하는 기술 스택은 java spring rest api, jwt authentication, jpa 딱 이정도만 배워서 의뢰받는 프로젝트들의 백엔드로 사용하고 싶습니다. (react나 vue를 사용하는 입장에서 타임리프는 타이핑하는 자체가 너무 고통스럽네요.) 개인적인 성향은 초야생형인데. 로드맵대로 따라가면 되는지 아니면 따로 추천해주시는 순서가 있으시다면 도움 부탁드리겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
field injection 질문
field injection을 하면 test를할때 변경할수없어서 불편하다고 들었는데 이는 통합테스트가 아닌 단위테스트일때 해당하는건가요? @Springboottest로 하면 field injection을 해도 상관이 없는건가요?
-
미해결
구름 ide로 스프링부트를 쓰는데
제가 오늘 처음 스프링부트를 배우는데 구름ide를 사용하고 있습니다. 그런데 자꾸 서버가 안 열리는데 왜 그러는걸까요? 기존의코두 수정없이 실행해도 그래요. 강의는 김영한님꺼 봤고요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
thymeleaf를 사용할때 Controller와 RestController의 차이 질문이요
thymeleaf 템플릿을 사용할 때 @Controller 사용하면 String으로 반환해서 페이지로 이동하는데 @RestController를 사용하면 String으로 반환할 때페이지로 이동을 못합니다... 그 이유가 무엇이고 어떻게 해결하면 좋을까요? 참고로 hello.html은 templates에 있습니다.. @Controller public class PostController { @GetMapping("/test") public String Test(Model model){ model.addAttribute("data","테스트입니다."); return "hello"; } } 여기서 아래처럼 RestController를 사용하면 페이지를 이동못하고 hello만 반환한다. @RestController public class PostController { @GetMapping("/test") public String Test(Model model){ model.addAttribute("data","테스트입니다."); return "hello"; } } 감사합니다.
-
미해결
스프링과 스프링부트 학습 순서가 어떻게 되나요?
안녕하세요. 스프링과 스프링부트 학습 순서가 어떻게 되나요? 또 취업을 위해서는 스프링과 스프링부트 중 어디에 더 중점을 둬야하나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 별개의 질문이 있습니다.
안녕하세요. 스프링 입문 다 듣고 기본편을 듣고 있는 수강생입니다. 개인적으로 스프링부트로 프로젝트를 하는도중 mysql 관련해서 궁금한 점이 있어서 글을 남깁니다. 간단하게 말씀드리자면 웹에서 회원가입을 했을 경우 필수 입력사항이 아니면 db에 null 값으로 안들어가고 공백으로 들어가고 있습니다.. 아래 일반적인 테이블인데 공백으로 들어가는 부분이 생깁니다. create table test( num smallint auto_increment primary key, id varchar(200), pw varchar(200), gender varchar(10) ) 다만, 아래 코드처럼 웹사이트가 아닌 쿼리문으로 바로 실행하면 값을 입력하지 않는 컬럼은 null로 들어가고 있습니다. insert into test (id,pw) values ('test','1234'); 웹에서는 입력하지 않은 값이 null이 아닌 공백으로 들어가는지가 궁금합니다.ㅠㅠ
-
미해결
스프링 부트와 JPA 활용 2 강의 듣던 중 로드맵이 궁금해서 질문남깁니다.
안녕하세요 현재 스프링 기초 강의 부터 JPA 기초, 실전 1 까지 들으며 야생형 로드맵을 따라가고 있습니다. 그런데 활용 2편 강의를 아직 초반밖에 보지 않았지만 중간중간 MVC 이야기를 하셔서 MVC 파트가 선행 되어야 하는건지 아니면 이 강의를 먼저 끝내고 들어도 되는건지 더 효율적인 학습 순서가 어떻게 되는지 알려주세요 ㅎㅎ
-
미해결스프링 핵심 원리 - 기본편
질문입니다.
(관련 코드) static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; @Autowired public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } (강의에서 설명) DiscountService는 Map으로 모든 DiscountPolicy(부모 인터페이스)를 주입 받는다. 이때 fixDiscountPolicy(자식 클래스), rateDiscountPolicy(자식 클래스)가 주입된다. (질문) DiscountPolicy는 인터페이스고 이것을 상속 받는 객체가 rateDiscountPolicy랑 fixDiscountPolicy입니다. 위 설명 대로라면 부모를 주입 받았을 때 자식까지 다 주입 받는 건가요? 자식을 주입 받았을 때 부모까지 주입 받는 거 아니었나요? 제가 상속에 대해 잘못 알고 있었던 건가요?
-
미해결스프링 핵심 원리 - 기본편
안녕하세요! 강의를 보는 도중 문득 궁금한것이 생겨 질문드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(http://bit.ly/3fX6ygx)을 먼저 확인해주세요. 3. 질문 잘하기 메뉴얼(http://bit.ly/2UfeqCG)을 먼저 읽어주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 지금 빈조회까지 봤는데 실무에서 자연스럽게 스프링을 사용하고싶으면 빈 조회나 아니면 어노테이션컨피그컨텍스트같은것들의 사용방법들을 따로 모아서 봐야 하는지 아니면 강의를 계속 보다보면 자연스레 외워지는지 궁금합니다. 아니면 따로 추천해주실만한 공부법이 있을까요?