묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
리눅스 서버에 대한 질문입니다.
스프링부트를 배포하는것을 검색하다보면 apache2.4를 서버에 설치 하는 것을 많이 본 거 같은데, 지금 도서관리 서비스는 정적인 서비스라 아파치가 필요 없는 걸까요?? 아니면 사용할 필요가 없는거 일까요?? 궁금합니다..
-
미해결3. 웹개발 코스 [Enterprise Architecture(EA) X 전자정부프레임워크]
db로 mariaDB가아니라 MySQL을 사용해도 괜찮을까요?
db로 mariaDB가아니라 MySQL을 사용해도 괜찮을까요?제목 그대로입니다.
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
event, study 참조
강의 잘 듣고 있습니다! 현재 Event에서 다대일로 study를 단방향으로 참조하고있는데 스터디 모집시에 event쪽이 삭제되지 않아 버그가 생깁니다. 해결법으로는 2가지 생각해봤는데요.양방향관계로 변경 후 Cascade사용단방향으로 유지하지만 스터디종료 메서드에서 event를 수동으로 remove처리1번 방법으로는 엔티티 설계 구조가 깨지니까 2번방법이 나으려나요. 고민이됩니다. 이런 참조 문제가 더 생길것을 방지해 양방향 관계로가는게 더 유연할지가 고민입니다. 아니면 초기설계목표상 모임이 하나라도 존재하면 스터디가 삭제되면안되는것인가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원가입 테스트 Rollback(false) 설정 했는데 h2 db에 데이터 없음.
=====================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원가입 테스트 시 Rollback(false)를 설정하고 실행은 정상적으로 되고 log에서도 insert 된 것을 확인할 수 있는데, h2 db 에서는 데이터가 들어와있지 않습니다. 왜 그런걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
assertj 에 해당하는 Assertions 이 import가 상단에 되지 않는이
[질문 내용]ctrl + enter 를 해도 import가 상단에 안되는데 어떻게 해결을 해야할까요? junit 의 Assertions 만 import가 잘됩니다.
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
anonymousAuthenticationFilter 와 AuthorizationFilter 의 로직 순서
SecurityFilterChain 의 순서를 보면 AnonymousAuthenticationFilter 가 먼저이고 AuthorizationFilter 가 맨 마지막에 실행되는 것을 확인했습니다. Anonymous 강의에서 AnonymousAuthenticaionFilter는 authentication이 null 인 경우 AnonymousAuthenticaionToken을 생성하여 익명 사용자로 처리한고 Authentication이 null이 아닌 경우 doFilter()로 다음필터로 넘어간다고 하셨는데.오늘 강의를 보니 anonymousAuthenticationFilter 에는 authenticaion 이 있는지 확인을 하지 않고 authorizationFilter 에서 getContext().getAuthentication() 을 통해 유무를 확인후 없다면 다시 AnonymousAuthenticationFilter 를 통해 AnonymousAuthenticationToken을 생성시켜 할당하는 것 처럼 보이는데 맞을까요?즉 anonymousAuthenticationFilter doFilter() --> AuthorizationFilter getAuthentication() --> anonymousAuthenticationFilter에서 생성
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 부분에서 오류가 납니다.
빌드 부분에서 오류가 납니다.JAVA버젼도 21버젼으로 다시설치했고 경로에 한글도 없는데 왜일까요?답변 부탁드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
오류페이지 404 화면 안나옴
package hello.exception.servlet; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import java.io.IOException; @Slf4j @Controller public class ServletExController { @GetMapping("/error-ex") public void errorEx() { throw new RuntimeException("예외발생"); } @GetMapping("/error-404") public void send404Error(HttpServletResponse response) throws IOException { response.setStatus(404); // 상태 코드 설정 response.getWriter().write("404 오류 발생"); } @GetMapping("/error-500") public void send500Error(HttpServletResponse response) throws IOException { response.setStatus(500); // 상태 코드 설정 response.getWriter().write("500 오류 발생"); } } 이렇게 400오류일 때 페이지를 설정해도 error-404로 들어가면 오류가 발생하고 error-400에 들어가면 404 화면이 나옵니다.application.properties는 이렇게 구성되어있고, html파일은 수업 자료 코드 그대로 가져왔습니다.확인 한번 해주시면 감사하겠습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost:8080 접속시 로그인
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 localhost:8080 입력했는데로그인 하라고 떠서요.. 혹시 뭐가 잘못된걸까요....?오늘 인텔리제이는 처음 설치해서 사용중이고원래는 sts3을 사용했었습니다..!!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 오픈 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.build.gradle 오픈하니까 이런 에러가 뜹니다.
-
미해결Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
Downstream Mono, Flux가 subscriber인가요?
안녕하세요! 마블 다이어 그램을 보면 upstream Flux나 Mono는 코드상 Flux.just(), Mono.just()를 통해 직관적으로 생산자로 이해가 되는데! Downstream Flux, Mono는 무엇을 의미하는지 이해가 가지 않습니다. Subscriber라고 보면 될까요? 좋은 강의 감사합니다.^^
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프로젝트설정 6분경
자바 23버전으로 스프링사이트에서 다운받고 위처럼 설정하였습니다 run한결과 체크표시는 안뜨고 계속 로딩중 마크로 뜨고 있습니다. 하지만 localhost:8080으로 들어가면 잘 나오긴합니다. 실행멈춤을 하면 밑에 처럼 나옵니다 특별하게 문제 될건 없을까요? 원인은 무엇일까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
InitBinder 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]복습겸 개인 프로젝트를 하고 있는데요, 로그인과 회원가입을 각각 검증기를 넣어주려고 하는데, 두 가지 검증기를 넣으니 다른 한 쪽에서는 오류가 발생합니다. 예를 들어, 로그인 페이지에 들어갈 경우에는 java.lang.IllegalStateException: Invalid target for Validator [com.weblibrary.domain.user.validation.JoinValidator@135416b2]: LoginUserDto(username=null, password=null) 이런 식입니다. supports에 해당하지 않으면 무시하는 게 아니라, 예외가 발생하는 걸까요? 이런 경우 어떻게 해결하는 게 좋을까요? package com.weblibrary.domain.user.controller; import com.weblibrary.domain.user.model.JoinUserDto; import com.weblibrary.domain.user.model.LoginUserDto; import com.weblibrary.domain.user.model.User; import com.weblibrary.domain.user.service.UserService; import com.weblibrary.domain.user.validation.JoinValidator; import com.weblibrary.domain.user.validation.LoginValidator; import jakarta.servlet.http.HttpSession; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; /** * 유저 회원가입 컨트롤러, GET, POST에 따라 다르게 동작. */ @Controller @RequiredArgsConstructor @Slf4j public class AccountController { private final UserService userService; private final LoginValidator loginValidator; private final JoinValidator joinValidator; @InitBinder public void initLoginBinder(WebDataBinder dataBinder) { dataBinder.addValidators(loginValidator); dataBinder.addValidators(joinValidator); } /* join form 보여주기 */ @GetMapping("/join") public String joinForm(Model model) { model.addAttribute("user", new JoinUserDto()); return "home/join"; } /* 회원가입 처리하기 */ @PostMapping("/join") public String join(@Validated @ModelAttribute("user") JoinUserDto user, BindingResult bindingResult) { log.debug("objectName={}", bindingResult.getObjectName()); log.debug("target={}", bindingResult.getTarget()); log.debug("Input User DTO: {}", user); if (bindingResult.hasErrors()) { log.debug("errors={}", bindingResult); return "home/join"; } // 회원가입 후에 홈으로 리다이렉트 return "redirect:/"; } @GetMapping("/login") public String loginForm(Model model) { model.addAttribute("user", new LoginUserDto()); return "home/login"; } /* 로그인 처리하기 */ @PostMapping("/login") public String login(@Validated @ModelAttribute("user") LoginUserDto user, BindingResult bindingResult) { log.debug("objectName={}", bindingResult.getObjectName()); // loginUserDto로 나오고 있었다. @ModelAttribute("user")로 해결 log.debug("target={}", bindingResult.getTarget()); // 정상적으로 LoginUserDto 인스턴스를 찾아옴. log.debug("Input User DTO: {}", user); if (bindingResult.hasErrors()) { log.debug("errors={}", bindingResult); return "home/login"; } // 로그인 후에 홈으로 리다이렉트 return "redirect:/"; } @PostMapping("/signout") public ResponseEntity<String> signOut(HttpSession session) { User user = (User) session.getAttribute("user"); log.debug("login user={}", user); if (user == null) { return new ResponseEntity<>("로그인되지 않았습니다.", HttpStatus.FORBIDDEN); } session.setAttribute("user", null); return new ResponseEntity<>("로그아웃 되었습니다.", HttpStatus.OK); } }
-
미해결Practical Testing: 실용적인 테스트 가이드
헥사고날 아키텍처 질문 있습니다.
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. jpa와 너무 강하게 결합되어 있어 repository 인터페이스를 만든다고 하셨는데그러면 1. repository 인터페이스2. 1의 repository 인터페이스를 구현한 repositoryimpl3. 2의 repositoryimpl에서 사용할 jparepository 이렇게 세 개나 만들어서 사용하는건가요?
-
미해결스프링 핵심 원리 - 기본편
AppConfig의 역할
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]AppConfig의 역할이 여러 서비스를 하나로 조합하는 그런역할인건가요? 마치 application 역할의 facade 랑 비슷한건가요??
-
미해결스프링 핵심 원리 - 기본편
지금 보시는 강의자료 어디서 다운받나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 다운 받은건 객체지향 설계와 스프링 밖에 없는데 이번강의나 지난 강의에서 수업때 보여주시는 피피티는 어디서 다운받나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
./gradlew build 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용].\gradlew build를 했더니 오류가 떠요PS C:\Users\chyt7\OneDrive\바탕 화면\study\hello-spring> .\gradlew build> Task :test 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/chyt7/OneDrive/%EB%B0%94%ED%83%95%20%ED%99%94%EB%A9%B4/study/hello-spring/build/reports/tests/test/index.html* Try:> Run with --scan to get full insights.BUILD FAILED in 2s7 actionable tasks: 1 executed, 6 up-to-date
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
DB 테이블명들이 복수형일 때 자바 엔터티 클래스명을 단수로 써야 할지 복수로 써야 할지 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의의 @Table(name = "orders") 이 부분 때문에 궁금한 점이 생겼습니다. @Entity @Table(name = "orders") @Getter @Setter public class Order { . . . }이 경우 데이터베이스에 생성되는 테이블명이 orders로 복수형이 되는데, DB를 설계할 땐 테이블명들을 전부 단수형을 쓰든, 전부 복수형을 쓰든 하나로 전부 통일하는 게 낫다고 들었습니다. 그럼 실무에서 데이터베이스 테이블명을 전부 복수형으로 통일한다면, 자바 코드의 엔터티 클래스 이름은 단수로 하고, @Table을 통해 복수형으로 바꾸게 되나요? 아니면 이 경우 @Table을 일일이 적기 번거로우므로 자바 클래스 이름도 복수형으로 하나요? 즉 예를 들어@Table("items")public class Item {}이런 식으로 모든 엔터티 클래스에 @Table을 통해 복수형 이름을 지정하는지, 아니면 @Table 애노테이션을 안 쓰고public class Items {}이렇게 클래스 이름 자체를 복수형으로 쓰는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
타임리프 에서 겹따옴표 내부에 홀따옴표 이후 변수 표기 방법
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]onclick=겹따옴표 내부에 홀따옴표 이후 변수가 제대로 표현이 안되는데 어떻게 해야 할까요?예를 들어 원하는건 다음과 같습니다.onclick="location.href='/edit/변수'"변수의 형태는 ${item.id} 입니다.아래와 같이 시도를 해보았습니다.th:onclick="|location.href='@{/edit/${item.id}}'|"위와 같이 시도를 해 보았는데 웹페이지 소스보기를 하면 아래와 같이 출력이 됩니다.onclick="location.href='/edit/${item.id}'"홀따옴표 앞에 역슬래시, 백틱 등등 해볼건 다 해보았는데 잘 안되네요. 뭔가 분명히 방법이 있을 것인데요. 조언 부탁 드립니다. 감사합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JDBC URL 연동 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]JDBC 연동 질문입니다. test.mv.db 가 C://USERS/USER/안에 만들어졌습니다. 하지만 인텔리제이에서 url로 진입시에 계속해서 Driver org.h2.Driver claims to not accept jdbcUrl 에러가 뜹니다. 다른 문의들 많이 참고해서 설정들도 꼼꼼히봤고, https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit?tab=t.0링크에 H2데이터베이스 접속 오류 해결방안2를 그대로 했지만h2콘솔에서는 접속이 잘되는 것 같은데 인텔리제이에서는 url 을 찾지 못하는 것 같습니다. 아래는 코드 입니다. 몇시간째 제자리라서 도움 부탁드립니다ㅜ