묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증에 순서를 지정하고 싶습니다 (죄송합니다 ㅜㅜㅜ)
이렇게 @GroupSequence 를 사용해서 검증의 순서를 정하고싶은데 예를 들자면 클라이언트에서 이메일을 작성할때 "ㅇㅇ" 이런 식으로 작성을 하면 @NotBlank 가 통과가 되고 @Email 이 실행이 되어야 하는거 같은데 실행이 되지 않습니다 그리고 실행이 안되는줄 알았지만 아래 아이디 비밀번호를 입력 하게되면 이때 형식에 맞지 않다는 오류 메시지가 나오게 됩니다, 어떻게 해야 할까요..package hello.instar.validation; import jakarta.validation.GroupSequence; import jakarta.validation.groups.Default; @GroupSequence({Default.class,ValidationGroups.NotBlankGroup.class, ValidationGroups.EmailGroup.class,ValidationGroups.SizeGroup.class, }) public interface ValidationSequence { }@NotBlank(groups = ValidationGroups.NotBlankGroup.class) @Email(groups = ValidationGroups.EmailGroup.class) private String email;springmvc
-
미해결3. 웹개발 코스 [Enterprise Architecture(EA) X 전자정부프레임워크]
Egov_WEB3 실행시 에러질문드립니다.
강의자료인 Egov_WEB3 서버 올린후 로그인시 에러가 발생합니다.디버깅시 MainServiceImpl에 UserVO uservo = mainMapper.selectLogin(paramMap); 부분에서 문제가있는것같은데 해결을 못하겠네요 Debug is true storeKey false useTicketCache true useKeyTab false doNotPrompt true ticketCache is null isInitiator true KeyTab is null refreshKrb5Config is false principal is null tryFirstPass is false useFirstPass is false storePass is false clearPass is falseAcquire TGT from CachePrincipal is nullnull credentials from Ticket Cache [Krb5LoginModule] authentication failed Unable to obtain Principal Name for authentication
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
spring java 23설치했습니다.
제가 java기초강의에서 java23으로 공부했었는데이에따라 spring설치시 java23을 설치했습니다괜찮을까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행문이 다르게 나옵니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]8080도 뜨지않고 메인 코드를 실행한후 사이트에 들어가도 에러메세지가 나오지 않습니다. 아래 다르게 나오는 출력문입니다.오후 7:46:36: 실행 중...> Task :helpWelcome to Gradle 8.10.2.To run a build, run gradle <task> ...To see a list of available tasks, run gradle tasksTo see more detail about a task, run gradle help --task <task>To see a list of command-line options, run gradle --helpFor more detail on using Gradle, see https://docs.gradle.org/8.10.2/userguide/command_line_interface.htmlFor troubleshooting, visit https://help.gradle.orgBUILD SUCCESSFUL in 122ms1 actionable task: 1 executed오후 7:46:37: 실행이 완료되었습니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderService에서 MemberRepository를 참조하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 듣다가 문득 궁금하여 질문드립니다.보통 Repository를 바로 접근하지 않기 위해서 Service를 만드는 건데, OrderService에서 MemberRepository에 바로 접근한 것은 OrderService 또한 같은 Service 단계이기 때문인가요?
-
해결됨스프링 핵심 원리 - 기본편
구성(수동, 자동)방식에 따라 사용할 수 있는 의존성주입이 다른지 궁금합니다.
강의에서 스프링 IoC컨테이너에 빈을 구성하는 방식을 두가지로 나눠 설명했습니다.수동구성자동구성위 '1.수동구성'에서는 생성자주입 만 소스코드로 다뤘습니다.'2.자동구성'에서는 생성자주입, setter주입, 필드주입 이라는 의존성자동주입이 사용된다고 정리할 수 있을까요? 즉, setter주입 과 필드주입은 '자동구성' 에만 사용할 수 있는 의존성자동주입 방식인지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
appconfig오류문제
package hello.core.order; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.Member; import hello.core.member.MemberRepository; import hello.core.member.MemoryMembereRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class OrderServiceImpl implements OrderService { private MemberRepository memberRepository ; // private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); // private final DiscountPolicy discountPolicy = new RateDiscountPolicy(); private DiscountPolicy discountPolicy ; @Autowired public void setMemberRepository(MemberRepository memberRepository){ this.memberRepository= memberRepository; } @Autowired public void setDiscountPolicy(DiscountPolicy discountPolicy) { this.discountPolicy = discountPolicy; } @Override public Order creatOrder(Long memberId, String itemName, int itemPrice){ Member member = memberRepository.findById(memberId); int discountPrice = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } //테스트 용도 public MemberRepository getMemberRepository() { return 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 MemoryMembereRepository(); } @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(); } }수업을 따라가다가 appconfig에서 오류가 났습니다 어떻게 해결하면 좋을까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
테스트 오류 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] The object is already closed [90007-224]org.h2.jdbc.JdbcSQLNonTransientException: The object is already closed [90007-224] at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) at org.h2.message.DbException.get(DbException.java:223) at org.h2.message.DbException.get(DbException.java:199) at org.h2.message.DbException.get(DbException.java:188) at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1422) at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:511) at hello.jdbc.service.MemberServiceV2.accountTransfer(MemberServiceV2.java:34) at hello.jdbc.service.MemberServiceV2Test.accountTransfer(MemberServiceV2Test.java:65) 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)> Task :test FAILEDMemberServiceV2Test > 정상 이체 FAILED org.h2.jdbc.JdbcSQLNonTransientException at MemberServiceV2Test.java:651 test completed, 1 failedFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':test'.> There were failing tests. See the report at: file:///C:/Users/user/Desktop/jdbc/jdbc/build/reports/tests/test/index.html* Try:> Run with --scan to get full insights.BUILD FAILED in 1s4 actionable tasks: 1 executed, 3 up-to-date 이런식으로 오류가 나는데 구글링해도 도저히 원인을 못찾겠네요ㅠㅠ 도와주세요 ㅠㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링 메시지 소스사용 에러
@SpringBootTest public class MessageSourceTest { @Autowired MessageSource ms; @Test void helloMessage(){ String result = ms.getMessage("hello", null, null); Assertions.assertThat(result).isEqualTo("안녕"); } }코드 실행시 에러 발생인텔리제이jdk 11로 빌드 하였습니다 org.opentest4j.AssertionFailedError: Expecting: <"??"> to be equal to: <"안녕"> but was not. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증의 순서를 지정하고 싶습니다.
이렇게 @GroupSequence 를 사용해서 검증의 순서를 정하고싶은데 예를 들자면 클라이언트에서 이메일을 작성할때 "ㅇㅇ" 이런 식으로 작성을 하면 @NotBlank 가 통과가 되고 @Email 이 실행이 되어야 하는거 같은데 실행이 되지 않습니다 그리고 실행이 안되는줄 알았지만 아래 아이디 비밀번호를 입력 하게되면 이때 형식에 맞지 않다는 오류 메시지가 나오게 됩니다, 어떻게 해야 할까요..package hello.instar.validation; import jakarta.validation.GroupSequence; import jakarta.validation.groups.Default; @GroupSequence({Default.class,ValidationGroups.NotBlankGroup.class, ValidationGroups.EmailGroup.class,ValidationGroups.SizeGroup.class, }) public interface ValidationSequence { }@NotBlank(groups = ValidationGroups.NotBlankGroup.class) @Email(groups = ValidationGroups.EmailGroup.class) private String email;
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증에 실패하면 addForm 으로 다시 보낼때 왜 리다이렉트 안하는가요 ?
@Controller @RequestMapping("/validation/v2/items") @RequiredArgsConstructor @Slf4j public class ValidationItemControllerV2 { private final ItemRepository itemRepository; private final ItemValidator itemValidator; @GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "validation/v2/addForm"; } @PostMapping("/add") public String addItemV6( @Validated @ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { //검증에 실패하면 다시 입력 폼으로 이동 if(bindingResult.hasErrors()) { log.info("errors = {}", bindingResult); return "validation/v2/addForm"; //TODO 이거는 왜 리다이렉트 안하지 ? } //에러에 안 걸려서, 이후는 성공 로직 Item savedItem = itemRepository.save(item); redirectAttributes.addAttribute("itemId", savedItem.getId()); redirectAttributes.addAttribute("status", true); return "redirect:/validation/v2/items/{itemId}"; } }위 코드에서 TODO 부분인데요검증에 실패했을때 addForm 으로 다시 보내는데, 리다이렉트를 안하더라구요그러면 브라우저에서 새로고침하면 POST 를 보내게 될텐데상품 등록 폼으로 다시 보내는게 목적이라면 리다이렉트를 하는게 더 좋아 보이는데요 혹시 리다이렉트 안하는 이유가 있을까요 ?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
github 공개 업로드 질문
김영한님 강의를 따라하면서 실습한 코드를 github public 레포로 올려도 되나요 ?업로드 해도 되는 항목과 업로드 하면 안되는 항목이 궁금합니다 실습하면서 따라 작성한 코드다운로드 받은 코드강의자료 pdf 파일강의자료 pdf 일부분 캡쳐 (예, spring mvc 구조 그림, 회원가입 도메인 요구사항 ERD) 감사합니다
-
해결됨스프링 시큐리티 OAuth2
SPA의 로그인 페이지 사용하면서 자체 인가 서버 구성하는 법
SPA로그인 페이지 사용 아직 시도중이지만 시큐리티필터체인의 http. .... .login() .loginProcessingUrl()로 해결 볼 수 있을 거 같아서 자세한 질문은 삭제하겠습니다..!
-
미해결스프링 시큐리티 OAuth2
claims 공개/비공개 개념 질문
{ "sub" : "1234567890", "iss" : "onjsdnjs.com" // 등록된 클레임 "exp" : 192630000 "https://onjsdnjs.com/claims/job" : "developer" //공개 클레임 "userId" : "leaven" // 비공개 클레임 "username" : "onjsdnjs" }공개와 비공개 개념이 있습니다.어디에 혹은 어느 대상에 공개를 한다는 것인지 설명이 없어 문의 드립니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 DB를 MySql로 마이그레이션
[질문 내용]H2의 Table과 Data를 MySql로 변환해서 쓰고 싶으면 어떻게 해야 할까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
인텔리제이 업데이트 후 문제 발생
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]인털레제이를 업데이트 한 후 모든 코드에 에러가 생깁니다...
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 조언을 얻고 싶습니다.
[질문 내용]spring mvc 1편까지 수강했을 땐 이해가 가능했는데, 야생형으로 한번 도전해보고 있습니다. 그런데 외계어로 들리는데 일단 한번 쭉 따라 쳐보는게 맞는걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의를 보고 연습 코드를 짜봤는데용... 잘 짠지 모르겠습니다.
우선 책과 카테고리 관계는 다대다 매핑이니 중간테이블로 책카테고리라는 엔티티를 뒀습니다.Ex) 연관관계 예시[책] : "해리포터" <-> [카테고리] : sf, 소설[책] : "아이언맨", "해리포터" <-> [카테고리] : sfpublic class Book { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "book_id") private Long id; private String title; }public class BookCategory { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "book_category_id") private Long id; @ManyToOne @JoinColumn(name = "book_id") private Book book; @ManyToOne @JoinColumn(name = "category_id") private Category category;public class Category { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "category_id") private Long id; private String categoryName; @OneToMany(mappedBy = "category", cascade = CascadeType.ALL, orphanRemoval = true) private List<BookCategory> bookCategories = new ArrayList<>(); }@Transactional public void createBook(BookDto dto) { Book book = new Book(); book.setTitle(dto.getTitle()); bookRepository.save(book); List<Category> categories = dto.getCategories(); for (Category category : categories) { BookCategory bookCategory = new BookCategory(); bookCategory.setBook(book); bookCategory.setCategory(category); category.getBookCategories().add(bookCategory); categoryRepository.save(category); } }테스트 해 본 결과, 원하는 대로 나오는 거 같은데CategoryRepository에는id name1 소설2 Sf3 소설이런 식으로 저장되더라구요... 이러면 CategoryRepository에 의미없는 데이터만 저장되는 거 같은데 잘 짠 거 맞나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
17분대 실행시 Member Table을 찾을수 없다는 오류가 나요
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이것 저것 찾아봤는데, 같은 에러가 반복적으로 발생하네요.무엇이 문제인지 모르겠습니다 ㅠㅠ 회원 가입 부분을 Run 할때 발생하고있네요.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
환경변수 문제
윈도우 cmd 자바 버전이랑sts 터미널창 자바 버전이 다른데 바라보는 환경변수 경로는 같아서 문제입니다터미널 새로고침도 해보고 환경변수도 다시 바꿔도 동일합니다