묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
영속성 컨텍스트와 id 생성의 관계
안녕하세요. JPA활용1 강의 중 상품 리포지토리 개발 부분에서 궁금한 점이 생겨 질문드립니다. 첫 번째 사진은 ItemRepository의 save함수이고 두 번째 사진은 ItemService의 join함수입니다. save함수의 경우 persist(item)을 하였을 때, DB에 바로 저장되는 것이 아니라 트랜잭션이 커밋될 때까지 영속성 컨택스트에 들어있는 것으로 알고 있습니다. item의 id는 DB에서 부여하는 것이니 트랜잭션이 끝날 때가지 id값은 null일 것이라고 생각했습니다. 그런데 join함수를 보면 트랜잭션이 끝나기 전 item의 id를 return하는 부분이 있고, 실제 테스트를 했을 때도 id값이 1로 존재하는 것을 확인했습니다. 저는 item 엔티티를 만들 때 @GeneratedValue전략으로 SEQUENCE를 사용한 것도 아니고,return을 하는 시점은 아직 트랜잭션이 끝나기 전이라 DB에서 id를 부여한 것도 아닌데, 왜 id값이 존재하는지 궁금합니다. 아래와 같이 테스트를 진행했을 때 성공하였는데, 혹시 테스트를 잘못한 것일까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Section2 - 회원등록 API
안녕하세요. 실전! 스프링 부트와 JPA 활용 1편 강의를 수강하면서 작성한 코드에서 api라는 개념이 나와서 조금 헷갈려서 질문드립니다. 1) postman 사용은 단위 테스트처럼 사용하는건가요?개발한 코드에서 입력값을 넣고 함수가 잘 동작하는지 확인하는 용도인지 궁금합니다. 2) 외부 api를 다른 팀으로 제공을 한다고 말씀주셨는데 팀 간의 관계가 궁금합니다.1편에서는 html로 작성해서 데이터를 localhost에서 입력해서 받아온 후에 Controller에서 처리를 했었는데,2편시작에서는 controller api는 1편의 Controller의 차이점을 잘 모르겠습니다. 감사합니다.
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
테스트에서 주입과 생성
안녕하세요 좋은 강의 잘 듣고 있습니다. 사소한 질문이지만요..! <테스트 추가하기:mockmvc 를 이용한 controlelr 테스트 강의>의 13:00 에서요 ObjectMapper 를 @Autowired 로 주입받아서 쓰지 않고 생성하셔서 쓰는 이유가 있을까요? 각각은 어떻게 다르고 장단이 있나요. 미리 감사합니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
4:28 build.gradle 수정 시 kotlin-reflect관련 implementation 추가 해야할까요?
build.gradle에 plugin만 추가하니 오류나고 아래 내용이 추가되니 오류가 사라지고 정상 동작하였습니다.implementation "org.jetbrains.kotlin:kotlin-reflect"정확한 원인은 모르겠는데 contextLoads할때 부터 error가 나서 kotlin으로 만든 Book을 Entity로 인식하지 못하는 것 같았습니다. 이렇게 해결하는게 맞는건지 궁금합니다. windows10 / java11 / intellij 사용중입니다! [오류원문]Failed to resolve parameter [com.group.libraryapp.service.book.BookService bookService] in constructor [public com.group.libraryapp.service.book.BookServiceTest(com.group.libraryapp.service.book.BookService,com.group.libraryapp.domain.book.BookRepository,com.group.libraryapp.domain.user.UserRepository,com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository)]: Failed to load ApplicationContext org.junit.jupiter.api.extension.ParameterResolutionException: Failed to resolve parameter [com.group.libraryapp.service.book.BookService bookService] in constructor [public com.group.libraryapp.service.book.BookServiceTest(com.group.libraryapp.service.book.BookService,com.group.libraryapp.domain.book.BookRepository,com.group.libraryapp.domain.user.UserRepository,com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository)]: Failed to load ApplicationContext at app//org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:239) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:183) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:74) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:355) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:302) at app//org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:79) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:280) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:272) at java.base@11.0.24/java.util.Optional.orElseGet(Optional.java:369) at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:271) at app//org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:102) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:101) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:66) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) 이하 생략..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 database 테이블이 생성되지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. users/dlwns 에 test3.mv.db 를 만들고터미널에 입력을 하여 연결을 했습니다.spring: datasource: url: jdbc:h2:tcp://localhost/~/test3 username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true format_sql: true logging: level: org.hibernate.SQL: debug그리고 Test를 진행했을 때,h2 database에 접근하면table이 생성되지 않습니다. 어떤 점이 문제인지 알고 싶습니다.감사합니다.
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
오류가 왜 나는건지 모르겠어요
package hello.sailing.v1.service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MenuSvc { public List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> map = new HashMap<>(); map.put("No","1"); map.put("name","아이스아메리카노"); map.put("kind","커피"); map.put("price","2,000"); map.put("reg_day","2020.10.29"); map.put("mod_day","2021.10.29"); list.add(map); Map<String, Object> map2 = new HashMap<>(); map2.put("No","2"); map2.put("name","아이스초코"); map2.put("kind","음료"); map2.put("price","4,000"); map2.put("reg_day","2020.10.29"); map2.put("mod_day","2021.10.29"); list.add(map2); return list; } put이랑 add 부분이랑 list.add 하는 부분이 오류가 나요ㅕ 왜그런거죠?
-
해결됨스프링 기반 REST API 개발
REST API 개발 중 비즈니스 로직 적용 부분의 JSON 에러
아래와 같이 perform 과정에서 validator -> serialize로 넘어가는 부분에서 json 이 eventDTO를 찾을 수 없다는 에러가 발생하여 json을 직렬화할 수 없어서 error 메시지가 반환되지 않아 test 실패가 나타나는 것 같습니다. 혹시 버전 차이로 인해 필요한 어노테이션이나 함수가 달라져 발생하는 문제일까요? 관련하여 검색해도 답안을 찾기 어려워서 질문 드립니다. 감사합니다.Inconvertible types; cannot cast 'org.example.springrestproject.Events.EventControllerTests' to 'org.springframework.test.util.JsonPathExpectationsHelper'No value at JSON path "$[0].objectName"java.lang.AssertionError: No value at JSON path "$[0].objectName" at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:302) at org.springframework.test.util.JsonPathExpectationsHelper.assertExistsAndReturn(JsonPathExpectationsHelper.java:326) at org.springframework.test.util.JsonPathExpectationsHelper.exists(JsonPathExpectationsHelper.java:190) at org.springframework.test.web.servlet.result.JsonPathResultMatchers.lambda$exists$3(JsonPathResultMatchers.java:123) at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214) at org.example.springrestproject.Events.EventControllerTests.createEvent_Bad_Request_Wrong_Input(EventControllerTests.java:149) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)Caused by: java.lang.IllegalArgumentException: json can not be null or empty at com.jayway.jsonpath.internal.Utils.notEmpty(Utils.java:401) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:390) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:377) at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:299) ... 8 more
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
질문있습니다
스프링을 이용해서 플로터로 만든 안드로이드에 mysql정보를 넘길 수 있는 서버를 만들고 싶은데 가능 할까요?
-
해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
스프링 부트 버전
스프링 부트 3.3.4 버전에 자바 17버전 사용해도 될까요? 어떤 강의를 봐도 전부 다 2버전 대 던데...2버전이 서비스가 종료가 되어서 버전 맞추는게 너무 힘드네요ㅠㅠ저는 ultimate 버전을 사용하고 있는데 괜찮을까요?
-
미해결코드로 배우는 스프링 웹 프로젝트 - Intermediate
스프링6버전에 톰캣10에서 스프링시큐리티 문제
스프링6버전에 톰캣10으로 진행하고있습니다. 스프링시큐리티부분에서 똑같이해도 에러가 발생하는데스프링6버전에서는 설정이 달라지나요??
-
미해결실전! 스프링 데이터 JPA
테스트 코드에서 em.flush를 해줘야 dirtyChecking이 일어나는 이유가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 4:30 쯤에 dirtyChecking이 일어나게 하기 위해서, em.flush();를 꼭 해줘야하는 이유가 있을까요? 선생님 다른 강의에서는 find로 찾아온 객체를 setter를 통해 변경 후 따로 em.flush(); 를 하지 않았어도 transaction 끝나는 시점에 자동으로 update쿼리가 나갔던 것으로 기억하는데요. 혹시 junit을 이용한 테스트코드이어서 동작 방식이 다른걸까요? 감사합니다~
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
공부 순서(자바, 스프링)
이제 회원관리 예제 들어가기 시작했는데 인터페이스나 Map등 자세히 모르는 단어들이 많이 나오는데 수강을 중단하고 자바 개념 및 자료구조 공부 후 다시 수강 하는 게 좋을까요 아니면 그대로 진행하면서 모르는 개념만 그때그때 공부하는 것이 좋을까요..? 답변 간절합니다 ㅜㅜ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
스프링부트 버전
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링 부트 3버전 사용해도 되나요? 그리고 자바 17버전 사용해도 될까요?
-
미해결스프링 핵심 원리 - 기본편
이렇게 뜨는데 정상인가요?
nconditional classes:---------------------- org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration
-
미해결스프링 핵심 원리 - 기본편
싱글빈이 2개 입력되었다고 합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.Description:Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [/Users/root1/Documents/java/core/out/production/classes/hello/core/member/MemoryMemberRepository.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class] @Configuration @ComponentScan( // basePackages = "hello.core", excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { } @Component public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Component public class MemoryMemberRepository implements MemberRepository {
-
미해결스프링 핵심 원리 - 기본편
싱글빈이 1개 등록했는데 2개 중복되었다고합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; }@Component public class MemoryMemberRepository implements MemberRepository {@Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy(){ // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } }
-
미해결스프링 핵심 원리 - 기본편
MemberServiceImpl 에서 싱글톤이 2개 있다는데 코드보면 2개가아닌데 2개라고 뜨네요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. escription:Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found:- memoryMemberRepository: defined in file [/Users/root1/Documents/java/core/out/production/classes/hello/core/member/MemoryMemberRepository.class]- memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class] 웹설치하고 이런 오류가 뜨네요AppConfig@Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy(){ // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } } public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바강의를 듣고 이 강의를 듣기 시작했는데 이해가 어렵습니다.
안녕하세요. 김영한 강사님의 자바 입문강의, 기본강의까지 들은 후 스프링 입문 강의를 듣게 된 학생입니다. 다름이 아니라 처음 프로젝트를 생성할때부터 이해가 어려워서 질문드립니다. controller라던지, resolver같은 처음 듣는 용어들이 나오고, 용어가 생소하니 매우 간단한 동작환경그림조차 이해가 어렵습니다. 혹시 이 강의를 듣기전에 미리 알아야하는 기초적인 배경지식이 있을까요? 자바입문과, 자바기본강의는 제공해주신 파일만으로 공부해도 입문자인 저도 충분히 이해가 가능하게 기본부터 설명이 되어있었는데, 스프링 입문강의는 처음보는 개념이나 용어들이 부가적인 설명없이 전개되어 강의파일만으로는 이해가 불가능해서 질문드립니다.
-
미해결스프링 핵심 원리 - 기본편
MemberServiceImpl 에서 싱글톤이 2개 발견했다하는데
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) escription:Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [/Users/root1/Documents/java/core/out/production/classes/hello/core/member/MemoryMemberRepository.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class] 웹설치하고 이런 오류가 뜨네요AppConfig@Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy(){ // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } } public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; }2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 핵심 원리 - 기본편
빈 생성 로그 출력
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 자료에 있는 내용처럼 로그백 파일을 설정해주면 빈 생성 관련 로그가 잘 출력되는데 로그백 파일을 사용하지 않고 application.properties 파일에logging.level.root=DEBUG logging.level.org.springframework=DEBUG logging.level.org.springframework.beans=DEBUG이런 식으로 설정을 했는데 빈 생성 로그가 출력되지 않습니다.원인이 무엇인가요