묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
"섹션3. 다국어 처리를 위한 Internationalization 구현 방법" 관련 문의드립니다.
다국어 실습시 Header에 "Accept-Language" 정보 미포함시 400 에러가 발생합니다.github 소스로 실행해도 동일합니다.Header에 "Accept-Language" 미포함시 정상인건지 궁금합니다.미포함시 default 정보로 조회되는게 아닌가요? 테스트는 크롬 확장도구인 "Talend"를 이용했으며 에러 응답은 다음과 같습니다.<problemxmlns="urn:ietf:rfc:7807"><type>about:blank</type><title>Bad Request</title><status>400</status><detail>Failed to convert 'Accept-Language' with value: 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7'</detail><instance>/hello-world-internationalized</instance></problem>
-
해결됨실전! 스프링 데이터 JPA
테스트 시 생성자 주입에 관하여
package com.myproject.jpaboard.web.service; import com.myproject.jpaboard.domain.Post; import com.myproject.jpaboard.web.repository.BoardRepository; import lombok.RequiredArgsConstructor; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import java.util.Optional; @SpringBootTest @RequiredArgsConstructor class PostServiceTest { private final BoardRepository boardRepository; private final PostService postService; @Test void addViewCount() { Optional<Post> byId = boardRepository.findById(1L); Post post = byId.get(); System.out.println("post.getViewCount() = " + post.getViewCount()); postService.addViewCount(1L); System.out.println("post.getViewCount2() = " + post.getViewCount()); } }안녕하세요. 개인적으로 배운것들을 따로 테스트중입니다. 위의 코드와 같이 생성자 주입을 하니 boardRepository에 NullPointerException이 발생하였습니다. @Autowired를 이용한 필드 주입으로 코드를 수정해보니 문제가 해결되었습니다. 원인을 추측해보면, 테스트 메서드 실행할 때 주입받을 빈이 초기화되어있지 않기 때문으로 보입니다.이런 상황이 처음이라 지식 공유자님의 의견을 듣고싶습니다.
-
미해결스프링 부트 - 핵심 원리와 활용
윈도우10에서 grafana-server.exe 실행 오류 관련 질문입니다.
안녕하세요. 항상 유익한 강의 제공에 감사드립니다. 윈도우 10환경에서 그라파나 설치 후 grafana-server.exe 실행 시 아래 화면과 함께 실행이 실패합니다. 프로메테우스는 실행 중입니다.Error: attempt to write a readonly database 라는 오류가 발생하는데, 스스로 해결하지 못하여 게시판에 질문을 올립니다. 발생 원인과 해결 방법을 알려주실 수 있을까요?
-
미해결스프링 부트 - 핵심 원리와 활용
@Configuration 자동 설정?
[질문 내용]안녕하세요!! 현재 강의를 들으면서 MyDataSourceValueConfig 부분에서 Application을 실행하면***************************APPLICATION FAILED TO START***************************Description:The bean 'myDataSource', defined in class path resource [hello/config/MyDataSourceValueConfig.class], could not be registered. A bean with that name has already been defined in class path resource [hello/config/MyDataSourceEnvConfig.class] and overriding is disabled.Action:Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true아래와 같은 오류가 발생합니다... 애플리케이션은 value의 Bean을 등록하는데, 왜 오버라이딩 오류가 발생하는 걸까요?? @ComponetScan이 없으면 @Configuration은 Import해야만 Bean이 등록되는 것으로 알고 있는데, 오버라이딩 오류가 발생하는 이유를 모르겠습니다!! 현재Env 클래스의 @Configuration을 주석처리하면 정상 작동하긴 합니다!!
-
미해결코드로 배우는 React with 스프링부트 API서버
PathVariable이 제대로 인식되지 않는 문제
본 강의 REST컨트롤러 - 수정/삭제, CORS 설정 시청중에Putmapping, DeleteMapping 쪽에서 파라미터를 @PathVariable로 받는데, postMan에서 테스트 요청을 보냈을때 파라미터가 전달되지 않습니다. @PathVariable(name="tno") 처럼 name을 명시하니까 제대로 파라미터가 받아지던데요 원래는 name은 생략 가능한게 아닌가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원가입 테스트 작성시 에러가 발생합니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원 기능 테스트 강의를 수강하며 회원가입 테스트 예제를 작성하고 실앻해도 계속 에러가 나옵니다. 코드도 모두 동일하게 쳣는데 에러가 뜨니 어떻게해야할지 모르겟습니다. ㅠㅠ 10:53:19.411 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [jpabook.jpashop.service.MemberServiceTest]: MemberServiceTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.10:53:19.579 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration jpabook.jpashop.JpashopApplication for test class jpabook.jpashop.service.MemberServiceTest10:53:19.906 [Test worker] INFO org.springframework.boot.devtools.restart.RestartApplicationListener -- Restart disabled due to context in which it is running이렇게 에러문구 3개가 뜨는데 뭐가 틀린지 모르겟습니다. 도움주시면 감사하겟습니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
코딩 컨벤션 관련 문의
안녕하세요. 강의 잘 듣고 있습니다. 강의 내용과는 좀 다른 질문이긴 한데요...현업에서 코딩컨벤션을 어떻게 처리하시는지 궁금해요.강사님께서 포맷터나 린터같은것을 어떻게 설정해서 활용하시는지 예제를 보고싶어요.강의에서는 예를들면 다음줄 넘기실때 그냥 엔터 치고 탭치고 하는거 같거든요. nodejs로 개발할때는 prettier에 설정해두며 저장할 때마다 알아서 다 해주는데intellij는 협업시 사람들마다 코딩스타일을 다르게 해서 일관성이 없어질것 같네요.(포맷터 설정해도 생각과는 좀 다른거 같더라고요.) 확인 부탁드립니다.감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ModelAttribute 사용유무가 궁금합니다.
public class Order 클래스중 //==생성 메서드==// public static Order createOrder(Member member, Delivery delivery, OrderItem... orderItems) { Order order = new Order(); order.setMember(member); order.setDelivery(delivery); for (OrderItem orderItem : orderItems) { order.addOrderItem(orderItem); } order.setStatus(OrderStatus.ORDER); order.setOrderDate(LocalDateTime.now()); return order; }위에는 jpa1강 파트이고아래는 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 상품 등록 처리 파트에서 @ModelAttribute 중 일부입니다.jpa에서는 혹시 @ModelAttribute 이부분을 못쓰나요? 아니면 쓸 쑤는 있는데 주문처럼 생성메서드일때는 안쓰는건가요? // @PostMapping("/add") public String addItemV2(@ModelAttribute("item") Item item, Model model) { itemRepository.save(item); // model.addAttribute("item", item); //자동 추가, 생략 가능 return "basic/item"; }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문입력시 질문입니다.
아래와 같은 에러가 조회됩니다.Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "T(jpabook.jpashop.domain.OrderStatus).values()" (template: "order/orderList" - line 19, col 33)] with root cause에러상황: 주문 입력시 화이트 페이지 조회전체코드:아래에서 하라는대로 다 해봤는데 안됩니다. 참고로 order자바,orderservice자바는 강의와 똑같습니다. https://www.inflearn.com/questions/362231/%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94-%EC%9D%B4%EB%9F%AC%ED%95%9C-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%98%EC%97%AC-%EC%A7%88%EB%AC%B8-%EB%93%9C%EB%A6%AC%EA%B2%8C-%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4
-
미해결실전! 스프링 데이터 JPA
spring data jpa의 merge() 를 쓰지 말고 persist() 만 쓰라는 걸까요??
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서 merge 를 쓰지 않는게 좋다고 이야기 해 주셨는데, spring data jpa의 save() 를 실무에서 쓰지 말라는 뜻일까요?? 아니면 쓰되 isNew 로직을 타도록 잘 세팅해두라는 뜻일까요?? 실무에서는 객체 저장 어떻게 하는지 궁금합니다~!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링JdbcTemplete강의 내용 1:38초부분에서 의존성주입 질문이 있습니다
//JdbcTemplateMemberRepository public class JdbcTemplateMemberRepository implements MemberRepository { private final JdbcTemplate jdbcTemplate; public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); //SpringConfig @Configuration public class SpringConfig { private final DataSource dataSource; public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } JdbcTemplate을 사용하도록 스프링 설정 변경하는 부분인데이전에 객체를 생성해서 직접 주입하면 안좋다고 하셨었는데jdbc템플릿을 적용하시는 부분에서는 직접 dataSource를 JdbcTemplate를 생성해서 넣으셨습니다.public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; }대신에 JdbcTemplate를 빈에 등록해서 이렇게 사용하는게 이전에 배운내용에 따르면 의존성, 결합성 면에서 나은 코드라 생각했습니다.(@autowired를 사용하게끔 수정해본 코드)//JdbcTemplateMemberRepository public class JdbcTemplateMemberRepository implements MemberRepository { private final JdbcTemplate jdbcTemplate; @Autowired public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); //SpringConfig @Configuration public class SpringConfig { private final DataSource dataSource; @Bean public JdbcTemplate jdbcTemplate(DataSource dataSource) { return new JdbcTemplate(dataSource); } } 이렇게 수정해서 사용하라고 설명해주시다가 이 JdbcTemplate강의에서는 직접 주입하시면서 설명해주셨는데,JdbcTemplate빈을 정의해서 주입하는 방식이 아닌Datasource를 직접 사용한 이유가 있을까요?뭔가 데이터접근할때는 다른부분이 있어서 이런 방법이 사용된건지 궁금합니다.
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
서비스 메소드 작성 시 질문!
안녕하세요 쥬쥬님 서비스에서 메서드를 만들 때 질문 있습니다. A라는 서비스 메소드를 만들 때 로직이 복잡하면 코드가 엄청 길어지면 그 때는 안에 있는 메소드를 B, C 서비스 메소드로 분리해야 할 것 같은데 서비스 메소드를 만들 때 기준이 있나요?지금 createReview 서비스 메소드를 만들때restaurantRepository.findById(restaurantId).orElseThrow()를 사용하여 조회 및 검증 작업을 진행하는데 추후에 해당 코드를 그대로 유지하는지, 서비스 메소드로 분리하는지, 스태틱 메서드로 만드는지 기준이 궁금합니다.
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
PPT 강의 자료는 어디 있을까요...?
안녕하세요 선생님~! 혹시 PPT 강의 자료는 어디 있을까요...? ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew 빌드가 계속 실패로 뜹니다.
cmd 실행 시 위와 같은 오류가 계속 발생하고 있습니다.위와 같이 옵션을 인텔리제이 idea로 바꿨음에도 오류가 발생합니다.jdk 21이며, 환경변수 모두 세팅되어 있습니다. (java -version, javac -version) 테스트 리포트는 아래와 같습니다.
-
미해결견고한 결제 시스템 구축
TossPaymentExecutor.class 오류 질문
안녕하세요 강사님애플리케이션을 실행하는데는 문제가 없으나아래와 같이 오류로 표시되는데 혹시 해결할 수 있는 방법이 있을까요?
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
react 와 같은 별개의 프론트가 있는 경우 csrf
이런 경우에는 rest 방식으로 로그인할때, csrf 값을 처리할 수 없을거 같은데요. same-site 방식으로 처리하면 되는걸까요?
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
Spring Boot에서 jsp 연동 오류
안녕하세요 선생님,Spring framework로 jsp를 사용하려고 강의(강의명 : Spring framework의 천하통일)를 따라 진행하는데 도무지 해결할 수 없어 질문으로 남깁니다! 모든 코드는 복사붙여넣기하여 선생님과 동일하나 결과는 아래와 같습니다...어떻게 해결할 수 있을까요?(Java 1.8, JDK 8) 상황설명jsp 설정을 위해 implementation을 추가하고 새로 로드하였는데 아래와 같은 로그가 출력되었습니다.이 상태에서 애플리케이션을 실행하면 나오는 로그
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 도메인 요구사항 설계 중 의문점
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 5. 상품 도메인 개발 수강 중 궁금한 점이 있어 글 올립니다!상품 도메인 비즈니스 요구사항에는 1. 상품 등록 2. 상품 목록 조회 3. 상품 수정 이 있는데 핵심 비즈니스 로직을 정의하는 클래스인 ItemService(상품 서비스 클래스)에서는 오직 1. 상품 등록 2. 상품 목록 조회 로직만 설계하신 것을 알 수 있었습니다.상품 리포지토리에서 상품 등록 로직(save(Item item))에 if - else 문을 통해 merge()가 3. 상품 수정 기능을 해서 상품 서비스 클래스에서 설계를 안 하신 걸로 봐도 될까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByName() 메서드 실행시 오류
프로젝트 압축파일입니다.https://drive.google.com/file/d/1IRv3FX6UTERveIoq1KaZY7N_DyVLGv0b/view?usp=sharing<회원 리포지토리 테스트 케이스 작성> 강의 9:40 경에findByName() 메서드 실행시 java.util.NoSuchElementException: No value present at java.base/java.util.Optional.get(Optional.java:143) at hello.hellospring.repository.MemoryMemberRepositoryTest.findByName(MemoryMemberRepositoryTest.java:45) 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)라는 오류가 발생합니다.이 오류로 인해 findAll() 메서드까지 실행이 되지 않는 것 같습니다. get()과 관련된 오류 같아 구글링해보아도 해결이 어려워 문의남깁니다.답변 부탁드립니다. 감사합니다.
-
미해결코드로 배우는 React with 스프링부트 API서버
Entity에 ElementCollection이 두 개 있는 경우
안녕하세요! 하나의 엔티티에 @ElementCollection 붙은 필드가 두 개 있는 경우를 시험해 보고 있습니다. @EntityGraph(attributePaths = {"a", "b"}) 이런 식으로 해서 테스트를 돌리면 org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags 과 같은 오류가 나는데 ElementCollection 두 개가 있는 경우는 하나의 쿼리로 모두 가져오는 방법은 없나요?