묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
원래 Test 는 나중에 작성하는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서 Test파일을 돌려보기전에XXX_App을 만든후 XXX_Test를 돌리잖아요그러면 결국 완성본까지 만든 후 Test를 돌리는건데Test를 나중에 만드는 이유가 뭔가요?(강사님이 콘솔로 확인하냐 Test로 확인하냐 차이라고 하시는데 짧은코드에 서로 App과 Test가 동일한코드라 콘솔로 확인해도 충분하기에 XXX_App을 만들어서 콘솔로확인한건가요?)
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
설정파일 못 찾는 에러
안녕하세요 좋은 강의 감사합니다. ('스프링 부트의 자동 리소스 등록' 강의)강의의 뒷부분에서 application.properties에설정을 다 한 후에 테스트를 돌리면와 같은 에러가 뜹니다.코드는 아래와 같이 재확인했구요.그래서 설정파일을 설정을 변경해봤습니다.우측 상단의 edit configurations.. 에서 원래대로 비워두고 설정한 후에,메인컨테이너는 아래 같이 잘 뜨는데 테스트는 실패합니다.아래 (local) 설정을 하고 설정파일도(application-dev.properties)로 하고 dataSource내용 다 기입후 설정을 아래같이 해도 안됩니다.설정파일을 못 찾아서 dataSource 를 주입 못 받는 것 같습니다.application.properties에 first.name=hi 라고 한 후테스트에서@Value(value = "${first.name}")private String name; 후에 name을 찍어봐도 null로 게속 나옵니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
30강 오류
안녕하세요 선생님.30강에서 서버를 실행시키고 책 등록을 하면 오류가 뜹니다. 그런데 application.yml 설정 중 jpa hibernate ddl-auto를 create drop으로 바꾸면 오류가 안 뜨고 책 등록이 되긴 하는데 서버를 다시 시작하면 테이블이 사라집니다. 이걸 어떻게 해야 할까요?감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
왜 오류가 안날까요?
영상 11:00부분 부터, 테스트가 끝날 때마다 초기화되는 AfterEach부분을 적지 않았음에도 불구하고 정상실행 됩니다. findByName()이 왜 오류가 안날까요?스프링이 업그레이드 되면서 자동으로 clear하는 기능이 생겼나 싶어서 찾아보니까 그런내용은 없었는데, 혹시 오류가 안나는 이유를 알 수 있을까요?package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.junit.jupiter.api.Test; import java.util.List; import static org.assertj.core.api.Assertions.*; class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @Test public void save() { //given Member member = new Member(); member.setName("spring"); //when repository.save(member); //then Member result = repository.findById(member.getId()).get(); assertThat(result).isEqualTo(member); } @Test public void findByName() { //given Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); //when Member result = repository.findByName("spring1").get(); assertThat(result).isEqualTo(member1); } @Test public void findAll() { //given Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); //when List<Member> result = repository.findAll(); //then assertThat(result.size()).isEqualTo(2); } }
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
스프링 부트 2.7.9 native query 에러
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.혹시 저와 같이 에러가 발생하는 분들이 있을 수도 있을 것 같아서 여기다 글을 적습니다!스프링 부트 2.7.9 버전으로 진행하다 named lock 부분에서 native query를 사용하니 org.springframework.beans.factory.UnsatisfiedDependencyException 이러 에러가 발생하더라구요! 그래서 이런저런 방법을 찾아보다가 혹시나 해서 스프링 부트 2.7.9 를 강의 버전에 맞춰 2.7.0 으로 바꿨더니 해결이 되었습니다.혹시나 저와 같이 오류가 나시는 분들은 참고해주세요!!(근데 오류가 나는 이유까지는 모르겠네요 ㅠㅠ)
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
view의 개념
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의 1분 정도에 View는 화면을 그리는데 모든 역량을 집중해야 한다고 말씀해주셨는데 아래의 케이스에서는 어느 영역에서 처리하나요?db의 데이터 Y, N 또는 True, False의 데이터가 있을 경우 화면에는 예, 아니오 또는 사용, 미사용 과 같이 처리 할 경우 DB에서 조회 시, Service에서 if 또는 case 문으로 처리 가능하고, Front에서도 처리 가능한데 DB 또는 Service에서 처리 할 경우 해당 값이 변경 되야하면 서버를 재기동하는 부담이 있고, Front에서 할 경우는 단순 파일 배포를 통해 재기동하지 않아도 된다는 장점이 있을 것 같습니다.어느게 정답일 수는 없겠지만 보통은 어떻게 처리하는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
이 오류는 어떻게 해결해야하나요
뭐가 잘못된걸까요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
멤버와 주문이 양방향으로 되어있는데 멤버에서 주문 내역을 보려면 어떻게 하나요?
member = MemberRepository.findId(1)member.getOrders() 하니까 무한루프 나네요
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
lock 이 걸리는 시점에 대한 의문
강의를 듣던중 궁금한 점이 생겨 질문드립니다.아래의 코드는 MemberServiceV2의 두 함수 입니다.public void accountTransfer(String fromId, String toId, int money) throws SQLException { Connection con = dataSource.getConnection(); try { con.setAutoCommit(false); // ! 트랜잭션 시작 // * 비즈니스 로직 bizLogic(fromId, toId, money, con); con.commit(); // * 성공시 commit } catch (Exception e) { con.rollback(); // ! 실패시 rollback throw new IllegalStateException(e); } finally { release(con); } } private void bizLogic(String fromId, String toId, int money, Connection con) throws SQLException { Member fromMember = memberRepository.findById(toId, con); Member toMember = memberRepository.findById(toId, con); ---<다른 db 커넥션에 의해 침범될 수 있는 구간>--- memberRepository.update(fromId, fromMember.getMoney() - money, con); validation(toMember); memberRepository.update(toId, toMember.getMoney() + money, con); }트랜잭션을 사용하기 위해서 con.setAutoCommit(false) 를 사용하고 있는데,강의를 듣고 이해한 내용에 의하면, accountTransfer에 의해서 db에 요청되는 sql 쿼리는 총 4개입니다.memberRepository.findById -> select 문 (2번)memberRepository.update -> update 문 (2번)그런데, select for update가 아닌 select문은 선택된 row에 대해 lock을 걸지 않기 때문에, 위의 코드에 적어놓은 것 처럼 update문이 수행되기 전에 다른 db 세션에 의해서 동일한 데이터가 수정될 여지가 있는 것 같아 보입니다.(update 문이 수행될 때 lock이 걸리는게 맞다면)그럼, findById 함수 내의 sql문을 select for update로 변경하거나, 코드에 적어놓은 select문과 update 문 사이에 또다른 lock을 설정해주어야하는 건가요? + 만약, 또다른 lock을 설정해야한다면 어떻게 해야하나요? P.Shttps://www.inflearn.com/questions/653523아래의 유사한 질문을 발견했는데, 해당 질문의 답변만으로 충분히 이해가 되지 않아서 추가적으로 질문드린 것입니다.
-
해결됨스프링 핵심 원리 - 기본편
pdf 자료 6. 컴포넌트 스캔 5페이지에 질문이 있습니다.
[질문 내용]여기에 질문 내용을 남겨주세요.기존 스프링 빈 저장소에 저장을 할때 빈 객체는 그 클래스가 리턴하는 객체를 빈 객체에 저장을 했는데요 5페이지 그림을 보면서 의문이 듭니다. 빈 이름이 저렇게 설정이 되는거는 이해를 했지만 빈 객체는 왜 MemberServiceImpl 이 등록이 되나요? 왼쪽 코드에서 리턴하는 객체가 없는데 MemberServiceImpl 이 빈 객체로 등록이 되는 이유가 궁금합니다.감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
이런식으로 에러가 떠서 실행이 안돼는데 어떻게 고쳐야 하나요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]버전이 달라서 그런건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 생성문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.spring.io에 들어가서 프로젝트를 선택할때 Gradle이 Kotlin하고 Groovy두개로 나뉘는데 어떤걸 선택해서 만들어야 하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@Autowired 와 MessageSource
[질문 내용]MessageSource 를 스프링 빈으로 등록하지 않고, 스프링 부트와 관련된 별도의 설정을 하지 않으면 messages 라는 이름으로 기본 등록된다고 전 강의에서 배웠습니다. 지금 application.properties에는 messages 라는 이름으로 기본 등록됐으니 MessageSource를 스프링 빈으로 등록하지 않았을텐데 어떻게 @Autowired로 주입된건지 궁금합니다..!!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
WAS 흐름 질문입니다
다른분 질문 답변에서 WAS는 Web Server + Web Container(Sevlet Container)라는 것을 알았습니다.여기서 WAS안에 WAS + 서블릿 컨테이너가 있는데1) WAS 안에 Web Server + Web Container(Sevlet Container)라고 생각하면 될까요?2) 그럼 request, response 객체는 웹 서버 부분에서 생성된다고 이해하면 될까요??3) 웹서버부분에서 request,response 객체를 파라미터로 helloServlst(서블릿 객체)에 넘기는 것은 웹서버가 애플리케이션 로직같은 동적인 처리가 필요하니까 서블릿 컨테이너(WAS)에 요청을 위임한 것이다 라고 이해하면 될까요?? 답변주시면 정말 감사하겠습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
처음부터 모르겠어요..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]cmd에 아무리쳐도 다 안되는데 어떻게하나요..?강의영상 시작부터 막히네요..강사님이 cd study라고 치시는데 이거 의미도모르겟구..
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
view환경설정 부분에서 th:text 부분이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]p태그에 th:text가 없다면 안녕하세요.손님이게 뜨는거잖아요?인텔리제이안에서 크롬으로 튼 화면이거든요.그러면 p태그안에 쓴 안녕하세요.손님이 나와요근데 강사님처럼 직접 localhost:8080/hello 에 들어가면안녕하세요 hello가 나와요컨트롤러에서 model.attribute에 name,value 넣어서 그런건 알고있는데 <p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p><p>안녕하세요. 손님</p>저 html 보이는게 두개가왜 다른지도 궁금하고언제 th:text를 쓰고 p태그를 쓰는지가 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
예제-주문과 할인 도메인 실행과 테스트 오류
안녕하세요 선생님! 강의 잘 수강하고있습니다!!예제부분 수강중에 마지막 주문과 할인 도메인 실행과 테스트 과정에서 실행시켰을때 테스트 과정인 OrderServiceTest 에 오류가 납니다 ㅠㅠ 해결방법 알려주시면 감사하겠습니다 ㅠㅠ
-
해결됨토비의 스프링 부트 - 이해와 원리
스프링 책 질문 드립니다
선생님 강의 잘 보고 있습니다. 스프링부트 강의이다 보니 스프링 공부를 더 해보고 싶은데지금 나와있는 스프링3.1을 사는게 좋을까요 기다렸다가 스프링6강의를 보거나책을 사는게 좋을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
setId getId 에러
복붙하고 수정했는데 setId 그리고 getId에서 에러가 납니다. 도와주세요 ㅜㅜ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
assertThrow()오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. assertThrow()부분에서 오류나는데 인터넷 보고 해봐도 해결이 안되네요assertThrows()함수와 try catch 부분에서 fail 이 오류가 납니다.