묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
싱글톤으로 등록됨에 대한 궁금증
[질문 내용]제가 싱글톤 개념을 잘모라서 그럴꺼 같은데,하나만 등록해서 같은 인스턴스를 사용하게 되면order 서비스 같은 건 사용자마다 개별 인스턴스가생성되어야 하는게 아닌가 싶어서요.질문이 정리가 안된거 같기도 하고 헷갈리네요 ㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
생성 메서드를 작성하는 클래스의 기준과 클라이언트에서 엔티티 아니라 orderid를 넘기는 이유
안녕하세요 ? 강의를 들으면서 몇가지 질문이 있어 글을 씁니다. 생성 메서드를 사용하는 이유에 대한 다른 질문의 답변의 외부 글을 읽었습니다. 강의의 Order와 OrderItem의 경우엔 생성자를 쓰던 생성 메서드를 쓰던 별 차이가 없는 것 같다고 생각이 듭니다. 혹시 이 두 클래서에서 생성 메서드를 사용했을 때 얻는 이점을 자세히 설명해주실 수 있나요? 특정한 클래스에만 생성 메서드를 쓰는 기준이 궁금합니다. 멤버변수 중에 객체가 있는 경우인가요?주문 삭제의 경우 클라이언트에서 orderId를 넘깁니다. 그럼 영속성 컨텍스트에서 한번 조회하여 order 엔티티를 찾습니다. 클라이언트에도 Order 엔티티 정보가 그대로 있어서 넘기면 바로 쓸 수 있는데 id를 넘기는 이유가 궁금합니다. 제가 생각해본 바로는 영속성 컨텍스트(캐시)에서 조회하는 건 자원이 크게 들지 않고 객체가 큰 경우에는 객체 자체를 넘기는 게 오히려 더 큰 자원이 들 수 있다는 점입니다. 맞을까요?답변 기다리겠습니다. 감사합니다 !
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원목록 조회가 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://drive.google.com/file/d/1jGfTDdd_dfIXWe6kq_FvMFFKNI1nxWcc/view?usp=sharing수 차례 확인하고 다시 해봤지만 회원목록 조회가 안됩니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
제코드좀 봐주세요 ㅠㅠ
https://drive.google.com/file/d/19EdcpxnIZQKKAeCSlucWIrX8HVv4bCtf/view?usp=drive_link 머리아프네요..17강까지 잘되었습니다..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원가입 테스트 코드 관련해 질문 드립니다..ㅠ
7분 08초 정도에 회원가입 테스트 코드를 실행하는 부분에서요,,! MemberServiceTest 클래스에 @Transactional을 걸어서회원가입() 메소드를 하나의 트랜잭션으로 관리하는 것으로 이해했습니다... memberService.join(member); 으로 persistence context에 member를 영속화 시킨 상태인데,그 다음 코드인 memberRepository.findOne(savedId);에서, 왜 select 문이 나가는거죠?하나의 트랜잭션이고, member가 영속 상태라서 1차 캐시에서 관리되면, context에서 가져와야 하는게 아닌가요?... 트랜잭션을 롤백한다는 것의 의미가 DB의 트랜잭션을 롤백한다는 것 뿐만 아닌 영속성 컨텍스트도 롤백하는 것을 의미하나요?.. 만약 그렇다면, 저는 @Transactional을 메소드 단위로 걸었는데, 왜 회원가입() 메소드 중간에 롤백이 되는 건가요?..ㅠ아예 애초부터 스프링에서의 트랜잭션 롤백은 영속성 컨텍스트에 반영조차 하지 않는 거라고 봐야 하나요?.. 너무 헷갈립니다 ㅠ.ㅠ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JUnit5 @Test(expected = ) 미지원하는데 테스트 코드 작성 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.JUnit5를 사용하여 테스트 코드를 작성 중인데, JUnit4와는 다르게 @Test(expected = ) 사용이 불가하더라고요.다음과 같이 테스트 코드를 작성하면 될까요? @Test public void 중복_회원_예약() throws Exception { //given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); //when memberService.join(member1); assertThrows(IllegalStateException.class, () -> { memberService.join(member2); }); }
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
OrderApiController
웹 개발 구조에서backend - repository - service - controller - frontend이런 식으로 이해를 하고 있었습니다. 강의를 수강 중 MemberApiController는 MemberService를 의존관계 주입을 받아 Api테스트를 진행하는데 OrderApiController는 왜 Service를 주입받지 않고 Repository를 주입받아 사용하는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
<p>태그 관련 질문
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.프론트 p태그 관련 질문입니다.데이터를 집어 넣지 않고 단순하게 쓰는 p태그의 경우<p>인프런</p> 코드를 실행하면 인프런이 출력되는걸로 알고 있습니다. 강의를 듣다 호기심에 나이스 문자열을 추가해봤는데요나이스1은 타임리프 문법이 적용된 문장이고나이스는 단순한 p태그입니다.하지만 나이스1도 타임리프 관련 코드가 끝나고 괄호를 닫고 추가된 문자인데 왜 출력이 안 되는지 궁금합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 gradlew.bat build 에러 발생
Microsoft Windows [Version 10.0.22621.2861] (c) Microsoft Corporation. All rights reserved. C:\Users\Yoon\Desktop\CS\SpringStudy\hello-spring>gradlew build FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'hello-spring'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.1. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.1 > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.2.1 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.5' but: - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.1 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.1 declares a component for use during runtime, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.1 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.1 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.1 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.1 declares a component for use during runtime, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 5s 안녕하세요 어제 동일한 질문을 올렸었는데 파일의 권한을 수정하고 다시 올렸습니다.우선 저는 윈도우 사용자이고, java --version으로 확인해봐도 Java 17버전이고, 설정 가능한 모든 부분에서 17버전으로 바꿨는데도 에러가 발생합니다. 모든 방법을 시도해봐도 cmd에서 "gradlew build" 명령어를 치면 build failed라는 메시지가 출력됩니다. plugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } 파일 링크: https://drive.google.com/file/d/1hnY1DJJ-9loR_mcQBum97NDgOErGgoMO/view?usp=sharing며칠째 이부분에서 막혀서 진도를 못 나가고 있습니다.. 도와주세요..ㅠㅠ------------------------------------------------------------------------------------------------java 17버전으로 설정해도 오류가 나시는 분들이 계시다면 아래 방법을 따라해보세요. 저는 이렇게 하니 해결되었습니다.인텔리제이 최신버전으로 재설치기존 JDK 삭제 후 최신버전으로 재설치 및 환경변수 등록 (재부팅 필수) 설치한 JDK를 프로젝트에 적용
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
섹션 5-2. JPA에서 em.createQuery(SQL) 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. JPA에서 em.createQuery("select i from Item i", ...)을 쓰시는데 저 구문을 h2에 직접 날려보면 i 를 찾을 수 없다고 나오는데 select * from item을 안 쓰는 이유가 있나요?
-
미해결스프링부트 개념정리(이론)
클라이언트 요청 시 디스패쳐 서블릿 동작에 관해
안녕하세요! 먼저 좋은 강의 해주셔서 감사합니다.다름이 아니라, 강의 마지막 부분의 Spring 동작을 간단하게 설명해주셨는데요. 이 때, 클라이언트로부터 요청이 들어오면 디스패쳐 서블릿이 웹과 관련된 Controller들을 메모리에 올린다고 하셨는데, 스프링부트의 @Controller 어노테이션은 컴포넌트 스캔의 대상이고, 스프링부트 어플리케이션이 로드될 때 Application Context에 등록되는 것으로 알고 있습니다.본 강의에서 말씀해주신 내용과 제가 학습했던 내용에 차이가 있어 질문 드립니다. @Controller 어노테이션을 사용하는 스프링부트의 Controller는 컴포넌트 스캔을 통해 Service, Repository 등과 다른 시점에서 로드되는지말씀해주신 메모리에 올린다는 표현이 Application Context로부터 빈을 주입받는 것을 의미하는건지학습한 지 얼마 안되서 개념에 혼동이 오네요 ㅠ.ㅠ 다시 한번 좋은 강의 감사드립니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Transactional 과 entityManager 범위에 관해 질문 드립니다.
안녕하세요! 강의 수강 중 질문이 생겨 작성합니다.. 답변 부탁드립니다..!ㅠ.ㅠ -- MemberRepository 입니다. ( @Transactional 키워드 모두 지움 )@Repository public class MemberRepository { @PersistenceContext EntityManager em; public Member findMember( Long id ) { Member member = em.find(Member.class, id); return member; } public Member findMember2( Long id ) { Member member = em.find(Member.class, id); return member; } } -- 위 레파지토리를 호출하는 테스트 코드 입니다. ( 데이터는 미리 넣어둔 상태 입니다. )@SpringBootTest class MemberRepositoryTest { @Autowired MemberRepository mRepo; @Test public void test2() { System.out.println("================================================="); System.out.println(mRepo.getClass()); //when Member found1 = mRepo.findMember(1L); Member found2 = mRepo.findMember2(1L); System.out.println("================================================="); //then assertEquals(found2, found1); } } 1 ) 테스트 코드에서 주입받은 mRepo의 클래스 타입을 확인하면 CGLIB로 생성한 프록시 클래스가 출력됩니다. 위 코드에서 보는 바와 같이 @Transactional 어노테이션은 존재하지 않는데도 실 클래스가 아닌 프록시 객체로 만들어지는 이유가 뭔가요?? 2 ) 테스트 코드에서 test2()를 실행하면 select를 2번 실행합니다. test2()에 @Transactional을 걸면 -> select 1번 -> 너무 당연한데MemberRepo 클래스 레벨에서 @Transactional -> 테스트 코드 실행 시 select 2번MemberRepo 클래스 각 메소드에 @Transactional -> 테스트 코드 실행 시 select 2번 2-1) 위와 같은 결과가 발생하는 이유를 모르겠습니다.. @Transactional을 어떻게 걸든 한 메소드가 종료하고 나면 PersistenceContext 가 닫히는 건가요?.. 2-2) MemberRepo 에서 주입받은 entityManager는 proxy 클래스가 맞는거죠..?@Transactional을 표기해주지 않아도, em을 사용하는 메소드가 호출되고 종료 될 때마다, 매번 proxy 객체 내부의 실제 entityManager 객체가 변경되는 건가요?? 2-3) em.find(Member.class, 1L) 같은 조회성 질의에서@Transactional(readOnly=true) 와 아예 해당 어노테이션을 사용하지 않았을 경우의 결과가 동일하였습니다. 그렇다면 readOnly를 사용하는 이유가 대체 무엇인가요?.. 질문이 많아서 죄송합니다 ㅠㅠ 머리에 정리가 되질 않아서요..답변 부탁드립니다!!
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
강의 자료를 따로 제공하고 있나요?
PPT 자료를 제공하고 있다면 다운로드 받고 싶습니다.
-
미해결Kotlin으로 개발하는 Spring Boot Web MVC
@JsonNaming 과 @field:Pattern 이 함께 동작하지 않는 것 같습니다.
... @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy::class) data class UserRequest( ... @field:Pattern(regexp = "^\\\\d{2,3}-\\\\d{3,4}-\\\\d{4}\\\$") var phoneNumber:String?=null, )위와 같이 UserRequest 데이터클래스에서 @JsonNaming 과 @field:Pattern 을 동시에 사용하면 @JsonNaming 의 snake case 적용이 작동하지 않아 PUT 요청의 body 에 phoneNumber 로 요청해야만 정상 작동하고 phone_number 로 요청하면 400 에러가 나지만, 해당 필드에 @field:Pattern 대신 @field:Size 를 사용하면 @JsonNaming 에 기대하는대로 phone_number 로 요청해도 200 응답으로 정상작동 하는 현상을 겪고 있습니다. 왜 Validation 어노테이션을 바꾸었을 뿐인데 그와 상관없어보이는 @JsonNaming 의 작동 여부에 영향을 끼치는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 자료 오타 제보합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]3. 회원 관리 예제 - 백엔드 개발.pdf5번째 페이지MemoryMemberRepositoryTest 클래스의 save() 메서드 부분이 이렇게 되어 있습니다. 마지막 줄이 수정이 필요해 보입니다.@Test public void save() { //given Member member = new Member(); member.setName("spring"); //when repository.save(member); //then Member result = repository.findById(member.getId()).get(); (result).isEqualTo(member); }
-
미해결토비의 스프링 부트 - 이해와 원리
ApplicationRunner 가 동작하지 않는 이유
테스트 환경에서는 application.properties를 읽지 않고 ApplicationRunner가 동작하지 않는다고 하셨습니다. 그래서 @TestPropertySource로 설정 파일을 넣어줬는데요 이게 동작하지 않는 이유는 테스트 환경은 스프링을 확장해서 스프링 컨테이너를 띄우고 구성 정보 클래스를 집어넣어서 빈 오브젝트만 등록하기 때문이 맞을까요 ? SpringApplication.run은 테스트 환경과 다르게 스프링 컨테이너를 띄우고 템플릿 매서드로 컨테이너를 띄우고 구성 정보 클래스를 활용해서 빈 오브젝트를 등록하는 거 외에 추가적인 Ruuner 나 Property 파일을 읽는 작업을 별도로 하기 때문인거죠 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 gradlew.bat build 에러 발생
C:\Users\Yoon>cd C:\Users\Yoon\Desktop\CS\SpringStudy\hello-spring C:\Users\Yoon\Desktop\CS\SpringStudy\hello-spring>gradlew.bat build FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'hello-spring'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.1. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.1 > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.2.1 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.5' but: - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.1 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.1 declares a component for use during runtime, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.1 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.1 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.1 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 8 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.1 declares a component for use during runtime, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 8) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 5s"빌드하고 실행하기" 강의에서 위 에러가 발생하였습니다.우선 저는 윈도우 사용자입니다.java --version으로 확인해봐도 Java 17버전이고, 설정 가능한 모든 부분에서 17버전으로 바꿨는데도 에러가 발생합니다. 파일 링크 : https://drive.google.com/file/d/1hnY1DJJ-9loR_mcQBum97NDgOErGgoMO/view?usp=drive_link
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2db에 입력후 localhost 조회시 안나옴
https://drive.google.com/file/d/1bWQeZq1FfiqL2cIEU7zJu-_Td0NSqGwF/view?usp=drive_link
-
미해결스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
안녕하세요 로그엔 성공적으로 들어온것같습니다..
안녕하세요 그전에 질문 올렸던 수강생입니다.. 이번에 로그엔 성공적으로 postman로 올린경우 된 것같은데 아래에는 error라고 뜨네여,,https://github.com/kimjeonggeon/bankapplication.gitbranch 2-bankApplication 입니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Transaction과 영속성 컨텍스트
안녕하세요. 강의 전반을 보고 영속성 컨텍스트에 대한 궁금증이 있어 이것 저것 테스트 해보다가 질문 남깁니다.기본적으로 Spring Data JPA에서 제공하는 영속성 컨텍스트는 1.Transaction 단위로 생성되는 것으로 이해하고 있었습니다.또한, 서로 다른 영속성 컨텍스트에 대해서 1차 캐시를 공유하지 않는것으로 알 고 있어, 서로 다른 2개의 @transaction에 대해서는 같은 값을 조회하더라도 동등성을 보장하지 않을것이라고 생각합니다.먼저, 위에 대한 제 생각이 맞는지 궁금합니다. 두 번째로 제가 직접 Application을 띄우고 하나의 http 요청에 대해 서로 다른 2개의 @transaction을 처리하는 로직을 넣고 서로 다른 @transaction에서 같은 값을 조회 후 동등성을 테스트 해봤는데 동등하다는 결과가 반복되었습니다. 이에 혹시 위에서 언급한 1.Transaction이 http 요청 단위의 transaction을 의미하는 것인가 라는 궁금증이 들었습니다. 위 2개 질문 이외 혹시 제가 놓치거나 잘못 이해한 부분이 있다면 알려주시길 바랍니다.감사합니다.