묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
9강 returnBookTest() 문의드립니다!
안녕하세요. 9강 returnBookTest() 질문 드립니다.저는 강의 내용을 듣기 전에 미리 제가 테스트코드를 짜보고 이후에 비교해가면서 강의를 수강하는데요. 제가 짠 코드는 실패를 해서 문의드려봅니다.@Test @DisplayName("책 반납 성공") fun returnTest(){ //given val user = User("phd",31) userRepository.save(user) val book = Book("testBook") bookRepository.save(book) val loanHistory = UserLoanHistory(user,"testBook",false) userLoanHistoryRepository.save(loanHistory) //when assertThat(loanHistory.isReturn).isFalse() bookService.returnBook(BookReturnRequest(user.name, "testBook")) //then assertThat(loanHistory.isReturn).isTrue() }저는 loanHistory 엔티티가 영속성 컨텍스트에 있기 때문에 user.userLoanHistroy 엔티티가 바뀔 때 loanHIstroy 객체의 상태 값 도 바뀔거라고 생각했는데요. 생각해보니까 각 엔티티를 save() 하는 메소드들의 트랜잭션이 각각 달라서 영속성 컨텍스트에 loanHistroy 객체가 없었을것 같아요. 뭔가 제대로 확인 할 방법은 없어서 그렇게 유추만 하고 있는데, 제가 유추한 내용이 맞을까요?... 강의 언제나 잘 보고 있습니다. 감사합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드하려는데 오류가 떠요
cmd에서 ./gradlew /gradlew gradlew gradlew build 다 쳐봤는데내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 나오거나ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk-11\binPlease set the JAVA_HOME variable in your environment to match thelocation of your Java installation. 라고 떠요..그리고 버전 확인해봤는데 저렇게 나오는 게 맞나요?다른 분들 질문한거 웬만한거 다봤는데 여기서 더이상 어떻게 진행해야 될 지 모르겠어서 막막하네요ㅠㅠ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
yml설정 질문입니다.
[질문 내용]회원 목록 조회 강의수강중입니다.어플리케이션을 재시작 할때마다 DB에 테이블이 재생성이 되면서기존 데이터가 사라집니다.yml에 ddl-auto : create설정 때문인 것 같은데,none, 이나 update로 설정하면 테이블의 재생성은 방지가 되는데,최초 구동 시 JPA가 테이블을 생성하는것도 막히는건지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Transactional에 대한 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요.강의 jpa부분을듣고 실습을 따라하다 다른방법이 있는지 문의드립니다.MemberServiceIntegrationTest 에서@Transactional 를 사용하지않으면 데이터 세개가 들어감과 동시에회원가입 메소드와 중복_회원_예외()의 함수를 실행하면 데이터가 들어가게 됩니다.이런 오류가 나오는데..제가 궁금한것은 @Transactional 를 사용하지않고트랜젝션? 처리하는 방법이 있을까요?방법이 존재한다면 어떤방법으로 처리하면..@Transactional 유사 처리가 되는지 궁금합니다.강의를 보고 또 보고하면서도많이 배우고있습니다.감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원목록 연결 오류
순수 JDBC 강의를 따라가며 실행해보았는데 디버깅 오류는 없으나 페이지 실행시 이름등록에서 등록 버튼 클릭후, 회원목록 클릭 후 연결되지 않는 에러가 발생합니다.Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Sat Mar 04 13:46:34 KST 2023There was an unexpected error (type=Internal Server Error, status=500). 코드 링크 올려드립니다. 감사합니다.링크 https://drive.google.com/file/d/1b8PmvEY2uQqk3TCS01tPzKYRXbq7-tGY/view?usp=share_link
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 코드 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.id to load is required for loading; nested exception is java.lang.IllegalArgumentException: id to load is required for loading 오류 발생합니다 코드:package jpabook.jpashop.service; import jpabook.jpashop.domain.Address; import jpabook.jpashop.domain.Member; import jpabook.jpashop.domain.Order; import jpabook.jpashop.domain.OrderStatus; import jpabook.jpashop.domain.item.Book; import jpabook.jpashop.domain.item.Item; import jpabook.jpashop.repository.OrderRepository; import org.junit.Assert; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import javax.persistence.EntityManager; import static org.junit.Assert.*; @RunWith(SpringRunner.class) @SpringBootTest @Transactional class OrderServiceTest { @Autowired EntityManager em; @Autowired OrderService orderService; @Autowired OrderRepository orderRepository; @Test public void 상품주문() throws Exception{ Member member=new Member(); member.setName("회원1"); member.setAddress(new Address("서울","강가","123-123")); em.persist(member); Book book=new Book(); book.setName("시골 JPA"); book.setPrice(10000); book.setStockQuantity(10); System.out.println(book.getId()); em.persist(book); int orderCount=2; Long orderId = orderService.order(member.getId(), book.getId(), orderCount); Order getOrder = orderRepository.findOne(orderId); assertEquals("상품 주문시 상태는 ORDER", OrderStatus.ORDER,getOrder.getStatus()); } @Test public void 주문취소() throws Exception{ } @Test public void 상품주문_재고수량초과() throws Exception{ } }
-
미해결스프링 부트 - 핵심 원리와 활용
내장톰캣 서블릿 강의를 듣는 도중 문제가 생겼습니다.
[질문 내용] 내장톰캣 서블릿 강의 코드를 따라 작성하고 실행하는 도중 아래와 같은 문제가 발생했습니다. 제가 따로 작성한 코드도 없고 그냥 파일생성과 붙여넣기만 했는데.. 실행이 안되네요.. Gradle 설정 문제인가 싶어 Setting에 default 를 Intellij 로 바꾼 뒤 다시 실행했더니 아래와 같은 에러 메시지가 떴습니다. 그리고 영한님과 다르게 main 실행 후 디랙토리에 아래 사진과 같은 패키지가 생성되었습니다. 문제가 무엇일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
7강 Static inner class 사용 이유
7강에서 @GetMapping("hello-api") @ResponseBody public Hello HelloApi(@RequestParam("name") String name){ Hello hello = new Hello(); hello.setName(name); return hello; } static class Hello{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }코드 중 궁금한 사항이 있어 문의드립니다.static inner class를 쓰는 이유 알 수 있을까요??그냥 innerclass와 접근 범위가 다르다는 것밖에 이해가 어려워서 조금만 더 잘 알고 싶습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
logging
로깅에서 이거 자체가 안 나오는데 무엇 때문일까요? 전 이렇게만 나옵니다ㅜㅜyml 복붙했는데도 안됩니다ㅜ
-
미해결토비의 스프링 부트 - 이해와 원리
학습 테스트 작성 시 정적 클래스 관련질문
안녕하세요.강의 잘 보고 있는 수강생 입니다.@Configuration과 proxyBeanMethods 강의를 듣고 실습하던 도중 질문이 있습니다. Bean1, Bean2, Common, MyConfig 클래스들을 Static클래스로 만들어야 정상적인 테스트가 가능한것을 확인했는데요. 해당 클래스들을 정적 클래스가 아닌 내부 클래스로 작성하니 적절한 빈타입을 찾을 수 없다라는 에러메시지가 표출되었습니다. 이상해서 해당 클래스들을 별도의 java파일로 작성하니 문제없이 정상동작하는것을 확인하였는데요. 왜 내부클래스 작성 시 정적 클래스로 만들어야 동작하는지 이유를 잘 모르겠습니다. 감사합니다.
-
미해결스프링 시큐리티
loginProcessingUrl 절대경로 상대경로 차이점
3) Form Login 인증 강의처럼 코드 작성하였는데 로그인이 안되고 계속 /login 페이지로 이동해서 코드를 자세히 보니 경로 설정이 잘못되었더군요..loginProcessingUrl("/login_proc") 위 코드로 정상적으로 로그인이 되는데 경로를 슬래쉬를 붙이지 않고 'login_proc' 으로만 넣어주니까 로그인 먹통이었습니다.혹시 어떤 이유에서 그런지 문의드려도 될까요?아래처럼 태그를 보면 어차피 루트에서 이동하는건데 슬래쉬가 있고 없고의 차이점이 궁금하네요.감사합니다.<form class="form-signin" method="post" action="login_proc">
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
mysql 1064에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]h2말고 기존 mysql을 설치한게있어 heidisql을 이용하여 강의자료 코드 복붙하였습니다. 계속 1064 신택스 에러가 떠서 찾아봐도 해결이 되지않아 직접 생성했는데 아래처럼 해도 상관없나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
getter setter 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 마지막 8분 22초에서 System.out.println 으로 member의 getName을 찍어서 확인하는데 Form html에서 input name을 name="name"이 아닌name="asd"로 변경후 Form class에서도 private String name을 private String asd로 바꾸고getter에서 return도 name->asd로 변경했습니다이때 메서드명은 getName() 그대로 남겼는데 sout(시스템아웃프린트)로 찍어보니까 null이 뜹니다.메서드명을 getAsd()로 바꾸니까 정상적으로 작동이 되구요 게터와 세터 메서드명을 꼭 변수의 이름과 맞춰야하는건가요? 이유가뭔가요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
스프링 2.7.8 swagger 오류 해결법
pom.xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> application.ymlspring: mvc: pathmatch: matching-strategy: ant_path_matcher messages: basename: messages
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello-mvc?name=Spring 오류
똑같이 한 거 같은데 오류가 뜨네요,,,
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello 로그인 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. http://localhost:8080/hello 에 들어가면 로그인이 하라는 창이 뜨구요취소 시 Unauthorized이렇게 뜹니다. ㅠㅠ프로젝트 새로 만들어도 똑같아서요 build.gradle 에 들어가도 시큐어리티가 없네요 ㅠㅠ
-
미해결[개념은 호옹~, 실습 빡] 스프링 부트, 입문!
23강 흐..너무어려워요...
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 분명 articleservice 에서는더미 테이블에 들어있는 글목록을 가져올때.엔티티를 -> dto로 변경안했거든요 ?dto -> 엔티티로 변경하는건 왜하는건지 알겠는데.근데왜 23강commentServic 에서는댓글 목록가져오는데엔티티를 -> dto로 변경해요 ? 그전강의에서는 바꾼적없잖아요 선생님
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2로 테이블 생성이 안됩니다.
모든 클래스에 entity를 넣은 것은 확인했고요 ㄴh2도 켜져있는 거 확인했습니다.스프링부트는 3.0.3버전h2는 2.1.214버전을 사용하고 있습니다.entity도 저렇게 diagram으로 잘 나오는 것을 확인했습니다.application.properties는 다음 사진과 같이 설정해뒀습니다.build파일에 classes에 entity들도 잘 들어가 있고 실행하는데는 에러가 안납니다. 실행시키고 h2에 들어가보면 테이블이 생성이 안돼있고 스프링부트 로그에도 테이블 생성 쿼리가 안보입니다. 뭐가 문제일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 실행
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. spring boot 에 내장되어 있는 tomcat 말고 따로 설치되어 있는 tomcat 으로 서버가 돌아가는 거 같은데 계속 오류가 뜨네요 내장되어 있는 tomcat으로 빌드하고싶은데 설정을 어떻게 바꿔야할까요 ??
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
spring data jpa를 적용했을 때 회원가입과 중복회원 확인 메소드 오류가 납니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.코드는 강사님과 똑같이 작성했는데Invalid property 'id' of bean class 라고 에러가 떴습니다.제 생각엔 JpaRepository가 구현한 save 메소드가 setId를 해주지 못했거나 SpringDataJpaMemberRepository가 JpaRepository가 구현한 save 메소드를 주입을 못해준 거 같은데 어떻게 해결을 해야할지 모르겠어서 질문 올립니다ㅠㅠMember.java 코드@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; public long getId(){ return id; } public void setId(long id){ this.id = id; }MemberRepository.java 코드package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.List; import java.util.Optional; public interface MemberRepository { Member save(Member member); Optional<Member> findById(Long id); Optional<Member> findByName(String name); List<Member> findAll(); }SpringDataJpaMemberRepository.java 코드package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; public interface SpringDataJpaMemberRepository extends JpaRepository<Member, Long>, MemberRepository { @Override Optional<Member> findByName(String name); }SpringConfig.java 코드package hello.hellospring.service; import hello.hellospring.repository.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.persistence.EntityManager; @Configuration public class SpringConfig { private final MemberRepository memberRepository; @Autowired public SpringConfig(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Bean public MemberService memberService() { return new MemberService(memberRepository); } }에러 로그org.springframework.beans.InvalidPropertyException: Invalid property 'id' of bean class [hello.hellospring.domain.Member]: Getter for property 'id' threw exception; nested exception is java.lang.reflect.InvocationTargetException중략Caused by: java.lang.NullPointerExceptionat hello.hellospring.domain.Member.getId(Member.java:17)