묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨토비의 스프링 부트 - 이해와 원리
로그 파라미터에 관한 질문입니다
파라미터가 masked 로 가려져 보이는데 정확하게 파라미터가 넘어오는지 확인을 해보고 싶습니다.그래서 스프링부트 공식문서에 설정관련 페이지를 보고 있는데 잘 찾아지지가 않아 질문드립니다. 검색할 키워드를 알 수 있을까요?spring.mvc.log-request-details=true찾아보던 중 위 설정을 적어주면 파라미터가 제대로 보인다고 하는데 이것도 적용이 되질 않습니다ㅠㅠ
-
해결됨스프링 핵심 원리 - 기본편
부모 - 자식 관계에서의 빈 조회
자바와 관련된 질문인데, 강의 내용과 연관성이 있어서 질문 드립니다.강의에서 스프링 빈을 조회할 때, 부모 타입으로 조회하게 되면, 자식 타입도 함께 조회된다고 하셨었는데요.인터페이스 - 구현클래스 의 관계도 부모 - 자식의 관계로 취급할 수 있는 것인가요?예를 들어, 아래의 두 경우를 보면,Map<String, DiscountPolicy> beansOfType = ac.getBeansOfType(DiscountPolicy.class); Map<String, Object> beansOfType = ac.getBeansOfType(Object.class);object는 모든 클래스의 부모 클래스이기 때문에, 모든 클래스가 상속받으므로, 부모 - 자식의 관계에 의해, 하위의 모든 자식 클래스까지 전부 조회가 되는 것은 이해가 되는데,discountpolicy의 경우, 부모 클래스의 상속을 받은 것이 아닌, 인터페이스를 실제로 구현한 것인데, 이를 부모 - 자식의 관계라고 볼 수 있는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
unreachable statement 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]동일하게 작성했는데 다음과 같은 오류가 발생합니다. 구글링 해봤을 때 unreachable 오류가 null 값이 나올 것 같을 때 발생한다고 하는데 강의 내용 그대로 따라 친거라 왜 오류가 발생하는지 모르겠습니다. 답변기다리겠습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Spring mvc를 써야 하는 이유가 어떻게 되는지요?
안녕하세요 강의 잘 보고 있습니다.다름 아니라 스프링부트를 놔두고 spring mvc를 쓰는 이유가 무엇이라 생각하실까요?외장 톰캣, 내장 톰캣 차이라고도 하고 비교할 거리가 아니라는 말도 있던데강사님은 어떻게 생각하시는지 궁금합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
서비스와 리포지토리의 차이
MemberService의 메소드를 보면 findMembers와 findOne같은 경우 Repository의 메소드를 (이름만 바꿔주는 식으로?) 한번 더 호출해주는 역할만 하고 join만 중복 회원 검증이라는 추가 적인 일을 하고 있는데요 이렇다면 굳이 Service단을 만들어서 코드를 입력해야하는 이유가 무엇인가요? findMembers가 필요하다면 그냥 findAll을 사용하면 되고, findOne이 필요하다면 findById를 사용하면 되지 않나요? 차라리 save 메소드에 중복회원을 검증하는 로직을 추가하는게 더 효율적이지 않나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
코드 질문
public interface MemberRepository { void save(Member member); Member findById(Long memberId); }@Override public Member findById(Long memberId) { return store.get(memberId); }정말 단순한 질문인데, 여기서 memberId는 임의로 정한 매개변수인건가요? 다른 이름으로 바꿔도 상관없는건가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JavaScript 라이브러리 인식 불가
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]https://drive.google.com/file/d/1dYiDxEpDP2eVFCNY2Z6Lm0feoZscE0JS/view?usp=sharing안녕하세요.강의를 다 듣고 상품 삭제 기능을 직접 만들어 보고 있습니다.jquery와 bootstrap을 사용하여 modal창을 만들어 보려고 하는 중에 jquery 라이브러리를 불러오는데 실패 했었습니다.jquery 라이브러리 위치는 resources/templates/css경로 아래에 두었습니다. 영한님께서 말씀하신 out폴더를 지우고 서버를 재실행 하여도 같은 문제가 발생하여,resources/static/css경로에 두고 실행하였더니 jquery 라이브러리가 인식되는데요.templates경로 아래에만 jquery라이브러리 파일을 두었던 이유는 강의 내용에서 아래와 같은 내용을 언급하셨기 때문입니다.강의 내 "resources/templates인식되는 원리" 질문의 답에서도 ThymeleafProperties.java파일에 DEFAULT_PREFIX 값이 'classpath:/templates/'으로 되어있다고 답변되어 있어templates경로 아래에 jquery 라이브러리를 두었던 것인데요.라이브러리 파일을 어떤 이유에서 static폴더에다가 두어야 동작 하는 것인지 질문드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
static 선언 이유
static을 붙여서 생성하면 클래스 변수기 때문에 인스턴스를 생성하지 않고 바로 사용할 수 있을 때 붙인다고 알고 있는데 sequence와 store에 static을 붙인 이유가 무엇일까요?
-
해결됨토비의 스프링 부트 - 이해와 원리
강의자료 압축이 안풀립니다,,
윈도우환경이구요, 이름변경해서 압축을 풀려고해도 안되네요 ㅠㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
코드 생략 관련해서 질문이 있습니다.
//검증 로직 if (item.getPrice() == null) {...} if (item.getQuantity() == null) {...} //특정 필드가 아닌 복합 룰 검증 if (item.getPrice() != null && item.getQuantity() != null) { if(resultPrice < 10000) { errors.put(); }검증 로직 파트에서 item.getPrice()==null, item.getQuantity()==null을 미리 검증해서price, quantity가 null인 경우는 걸러지니까, 바깥 if문을 제거해도 괜찮을까요? 추가로 한 가지 더 여쭤보고 싶은 것이 있는데,검증 요구사항에서 '수량은 최대 9,999'라고 한다면 최소 수량에 대해서는 굳이 신경 쓰지 않아도 되는 것인가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Thymeleaf 작성 방식
// 1번 <link th:href="@{/css/bootstrap.min.css}" href="../css/bootstrap.min.css" rel="stylesheet"> // 2번 <link th:href="@{/css/bootstrap.min.css}" rel="stylesheet">실무에서 타임리프를 작성할 때 1번처럼 th:href 속성과 href 속성을 같이 남겨두는지 2번처럼 th:href 속성만 남겨두는지 궁금합니다.뷰 템플릿을 순수 html 파일로 사용하지 않는 이상 코드 중복이 없는 2번 방식을 사용하는 것이 더 좋아보이는데 실무에서 1번 방식을 사용해야만 하는 경우가 있을지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의교재 부탁드립니다.
flamevert@naver.com강의 교재 부탁드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실습 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.java.lang.NullPointerException: Cannot invoke "hello.hellospring.service.MemberService.join(hello.hellospring.domain.Member)" because "this.memberService" is null 테스트케이스에서 실행했는데 오류가 뜹니다 this.memberService 가 null이라 오류인건 알았는데왜 그런건가요? 강의코드 복붙해도 그러네요
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
create 함수에서 name을 받아오지 못하고 NullPointerException
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 항상 좋은 강의 감사합니다.create를 통해 HTML에 입력된 name을 받아오는 부분에서 값을 받아오지 못하는 java.lang.NullPointerException: null 에러가 자꾸 발생합니다.이와 관련된 여러 질문들을 봤는데, 제 경우와 다 다른것 같은데, 제 코드에서 어떤 부분이 잘못되었는지 봐주실 수 있으실까요?https://drive.google.com/file/d/1MJPIw0KvS0eKuGBvYj7QYKnqc931mFiz/view?usp=sharing감사합니다.
-
미해결스프링 핵심 원리 - 고급편
JDK 동적 프록시와 기본 생성자
안녕하세요 영한님!! (또는 서포터즈님!!) 강의를 예전에 들은 후 복습을 하다가 한 가지 의문점이 생겨서 찾아보다가 명확하지가 않아서 질문을 드립니다!!JDK 다이나믹 프록시로 동적 프록시를 생성할 때 자바 리플렉션 기반으로 프록시를 생성하는 것으로 알고 있습니다. 추가적으로 리플렉션을 사용하기 위해서는 기본 생성자가 필수로 있어야 하는 것으로 알고 있습니다.하지만 JDK 다이나믹 프록시 같은 경우는 리플렉션을 사용함에도 기본 생성자 없이 프록시를 만드는 것으로 보였습니다.제가 뭔가 놓치고 있는 지점이 있는 것 같은데, 어떤 부분을 잘못 생각하고 있는걸까요 ㅎㅎ..매번 좋은 강의 감사합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
JdbcTemplate 생성자 만드는데 에러나요. JdbcTemplate 타입의 bean을 찾을 수 없다고 하는데 어떻게 해결해야 하나요?
JdbcTemplate 생성자 만드는데 에러나요. JdbcTemplate 타입의 bean을 찾을 수 없다고 하는데 어떻게 해결해야 하나요?강의를 더 보니까 19강에서 설명해주고 계신 build.gradle 때문인거 같은데요.저는 해당 파일이 비활성화 되어 있는 것 같아요.위 캡쳐처럼 코드가 알록달록(주황, 보라, 노랑..) 하지 않고, 모두 회색으로 보이는데 그래서 일까요?
-
미해결스프링 핵심 원리 - 기본편
스프링의 도움없이 싱글톤을 구현하면서 di해주는법
"스프링의 도움없이 싱글톤을 구현할 경우엔개방폐쇄원칙과 의존관계역전원칙을 위배하게 됩니다" << 이 말에 대해 궁금한점이 있습니다왜 스프링의 도움없인 싱글톤을 구현하면서 di를 해줄수없는건가요?위 사진과 같은 코드를 자바코드로 작성해주면 되는거아닌가요??..
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
one to many 지연로딩
@Entity @Table(name = "orders") @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Order { @OneToMany(mappedBy = "order", cascade = CascadeType.ALL) private List<OrderItem> orderItems = new ArrayList<>();일대다 관계에서는 기본 설정이 지연 로딩이 맞나요 ??orderItems.stream().forEach(o -> o.getItem().getName()); //Lazy 강제초기화@OneToMany 어노테이션에서 fetch = Fetch.Lazy가 없어서 기본설정으로 들어가는지 궁금합니다 !
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<select>에 value속성을 만들지 않은 이유
addForm.html의 일부 코드입니다. <select th:field="*{deliveryCode}"> -> 렌더링한 결과: <select id="deliveryCode" name="deliveryCode">렌더링한 결과에 value 속성이 없는데, 타임리프가 <select>에는 value 속성이 필요없다고 판단하여 만들어주지 않은 것인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<option> value=""인 경우
item.html의 일부 코드입니다. <select th:field="${item.deliveryCode}"> <option value="">==배송 방식 선택==</option> <option th:each="deliveryCode : ${deliveryCodes}" th:value="${deliveryCode.code}"></option> </select>select에서 아무 것도 선택하지 않아서 '==배송 방식 선택=='이 선택된 경우, 'deliveryCode='로 서버에 전달됩니다. 그리고 Item 객체의 deliveryCode필드에 ""로 저장됩니다.이때, 소스코드 보기를 하면,'<option value="">==배송 방식 선택==</option>'으로 나옵니다. selected="selected" 속성이 없는 것입니다.th:field, th:value의 값이 같을 때, selected="selected"라는 속성을 추가해줍니다.두 값이 ""로 같은데도 selected 속성이 추가되지 않은 이유가 무엇일까요?th:value가 아닌 그냥 value이기 때문인가 싶어서 value="" -> th:value="${''}"로 작성해보았는데,여전히 소스코드 보기를 하면'<option value="">==배송 방식 선택==</option>'으로, selected 속성 없이 출력됩니다.