묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 빌드 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]MemberRepositoryTest의 testMember에서 에러가 발생합니다. 에러 내용이 너무 길어 프로젝트 링크 첨부하였습니다. https://drive.google.com/file/d/1flmRAYvWXnIY-1BNrdd76dXY6YdL-kHn/view?usp=sharing
-
미해결스프링부트 시큐리티 & JWT 강의
오류 문의 _ org.springframework.orm.jpa.JpaSystemException: could not deserialize
우선 도움 많이 받고 있습니다 1) 다름이 아니라 3강-시큐리티 회원 가입에서 동영상 강의 12분 10초까지는 제가 작성한 코드가 잘 실행 됩니다. 회원 가입한 데이터가 콘솔에 잘 출력 됩니다 2) 그리고 나서 데이터를 DB까지 잘 저장 하기 위해서 레지파토리를 작성 하여 회원 가입을 시도 했는데 아래와 같이 오류가 발생 합니다 3) 제 소견으로 저는 이미 마리아 DB랑 아래와 같이 설정 하여 사용 중에 있었습니다. 이게 문제인거 같기도 합니다 spring.application.name=FirstProject server.servlet.encoding.force-response=true spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://localhost:3306/FirstProject?createDatabaseIfNotExist=true spring.datasource.username=root spring.datasource.password=1234 spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.format_sql=true spring.jpa.show-sql=true spring.jpa.open-in-view=true User(id=0, username=6, password=6, email=6@naver.com, role=null, createDate=null)Hibernate:insertintouser(create_date, email, password, role, username)values(current_timestamp(6), ?, ?, ?, ?)Hibernate:selectu1_0.create_datefromuser u1_0whereu1_0.id=?2024-08-02T21:41:49.880+09:00 ERROR 19076 --- [FirstProject] [io-8080-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.orm.jpa.JpaSystemException: could not deserialize] with root cause 아래는 코드 내용 입니다 ~~~~~~~ package com.example.FirstProject.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.web.SecurityFilterChain; @Configuration @EnableWebSecurity // 스프링 시큐리티 필터가 스프링 필터체인에 등록 public class SecurityConfig { // @Bean public BCryptPasswordEncoder encodePwd() { return new BCryptPasswordEncoder(); } @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf(csrf -> csrf.disable()); http.authorizeHttpRequests(authorize -> authorize .requestMatchers("/user/**").authenticated() .requestMatchers("/manager/**").hasAnyRole("ADMIN", "MANAGER") .requestMatchers("/admin/**").hasRole("ADMIN") .anyRequest().permitAll() ); http.formLogin(form -> form .loginPage("/loginForm")); return http.build(); } } package com.example.FirstProject.controller; import com.example.FirstProject.model.User; import com.example.FirstProject.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class indexController { @Autowired private UserRepository userRepository; @Autowired private BCryptPasswordEncoder bCryptPasswordEncoder; // 아래는 http://localhost:8080/ 로 들어 왔을 때의 겟 맵핑 임 // http://localhost:8080/ 로 들어오면 index.mustache 페이지로 전환 됨 @GetMapping({"","/"}) public String index(){ return "/index"; } // href="/joinForm"가 들어오거나 URL 주소가 8080/joinForm로 들어오면 페이지는 return 값인 joinForm으로(mustache) 전환 해라 @GetMapping("/joinForm") public String joinForm(){ return "joinForm"; } @GetMapping("/loginForm") public String loginForm(){ return "loginForm"; } // 아래는 href="/user"가 타고 들어 오면 URL 주소는 8080/user 이 되면서 페이지는 return 값인 user로(mustache) 페이지가 전환 됨 @GetMapping("/user") public @ResponseBody String user(){ return "user"; } @GetMapping("/admin") public @ResponseBody String admin(){ return "admin"; } @PostMapping("/join") public @ResponseBody String join(User user){ System.out.println(user); user.setRole("ROLE_USER"); String rawPassword=user.getPassword(); String encPassword=bCryptPasswordEncoder.encode(rawPassword); user.setPassword(encPassword); userRepository.save(user); return "redirect:/loginForm"; } } package com.example.FirstProject.model; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import lombok.Data; import org.hibernate.annotations.CreationTimestamp; import java.security.Timestamp; @Entity @Data public class User { @Id // primary key @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String username; private String password; private String email; private String role; //ROLE_USER, ROLE_ADMIN @CreationTimestamp private Timestamp createDate; } package com.example.FirstProject.repository; import com.example.FirstProject.model.User; import org.springframework.data.jpa.repository.JpaRepository; // JpaRepository 를 상속하면 자동 컴포넌트 스캔됨. public interface UserRepository extends JpaRepository<User, Integer> { // Jpa Naming 전략 // SELECT * FROM user WHERE username = 1? // User findByUsername(String username); // SELECT * FROM user WHERE username = 1? AND password = 2? // User findByUsernameAndPassword(String username, String password); // @Query(value = "select * from user", nativeQuery = true) // User find마음대로(); }<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>회원가입 페이지</title> </head> <body> <h1>회원가입 페이지</h1> <hr/> <form action="/join" method="post"> <input type="text" name="username" placeholder="Username"/> <br/> <input type="password" name="password" placeholder="Password"/> <br/> <input type="email" name="email" placeholder="Email"/> <br/> <button>회원가입</button> </form> </body> </html> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>로그인 페이지</title> </head> <body> <h1>로그인 페이지</h1> <hr/> <!-- 시큐리티는 x-www-form-url-encoded 타입만 인식 --> <form action="/loginProc" method="post"> <input type="text" name="username" placeholder="Username"/> <br/> <input type="password" name="password" placeholder="Password"/> <br/> <input type="email" name="email" placeholder="Email"/> <br/> <button>로그인</button> </form> <a href="/joinForm">회원 가입 페이지 이동</a> </body> </html>
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빈 연결 에러
Could not autowire. There is more than one bean of 'MemberRepository' type.Beans:memoryMemberRepository (MemoryMemberRepository.java) springDataJpaMemberRepository (SpringDataJpaMemberRepository.java)<스프링 데이터 JPA> 강의에서 테스트 코드를 실행 했을때 동일한 에러가 뜨는데 해결 방법을 찾지 못하고 있습니다. 도와주세요 ..동일한 타입의 빈이 중복 등록되어 발생한 문제임을 알고 있습니다. 어디서 중복 등록이 된 건지 찾지 못하고 있어요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
application.properties
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]org.h2.Driver에서 오류가 발생하는데 이는 어떻게 수정해야하나요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
REQUIRES_NEW인데 rollback되는 이유가 궁금합니다.
@Service @RequiredArgsConstructor @Transactional public class UserService { public void createUser(CreateUserRequest request) { Users users = firebaseUsersRepository.findUsersByFirebaseUid(request.getFirebaseUid()) .orElseThrow(() -> new BusinessException("Not Found User", HttpStatus.INTERNAL_SERVER_ERROR)); User user = User.builder() .name(users.getDisplay_name()) .firebaseUid(request.getFirebaseUid()) .build(); userRepository.save(user); } } @Component @RequiredArgsConstructor @Transactional(propagation = Propagation.REQUIRES_NEW) public class BaseEntityAuditAware implements AuditorAware<User> { private final UserRepository userRepository; @Override public Optional<User> getCurrentAuditor() { try { return userRepository.findById(ApiLogger.getRequestCallerId()); } catch (Exception e) { return Optional.empty(); } } }createUser에서 userRepository.save(user)를 호출할때,JpaAudit기능을 이용하기 위해 구현해놓은 BaseEntityAuditAware에서 유저정보를 가져온 후, 실제 쿼리를 날립니다.이때, 전파속성이 REQUIRE_NEW이며, 발생한 모든 예외를 catch했으므로이 함수를 호출한 부모 함수로 해당 예외가 전달되지 않을 것이기때문에 rollback이 되지 않으리라 기대했지만실제로는 unexpectedrollbackexception이 발생하며 롤백이 되었습니다.null을 반환하는건 문제가 아닌것이,실제로 예외를 발생시키지 않으려고 위 코드를 아래와같이 변경하였더니 null값으로 정상적으로 insert쿼리가 날라갔습니다. @Override public Optional<User> getCurrentAuditor() { Long callerId = ApiLogger.getRequestCallerId(); if (callerId == null) return Optional.empty(); return userRepository.findById(ApiLogger.getRequestCallerId()); }어느부분이 잘못된것이며 제가 오개념을 잡고있는 부분이 어디일까요?
-
미해결스프링 핵심 원리 - 기본편
CoreApplication 실행 오류
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]web 라이브러리를 build.gradle에 추가한 후 Core메서드를 실행했는데 위 사진처럼 오류가 뜨더라구요... 3.2.X부터 build tools를 인텔리제이가 아니라 gradle로 설정해서 동작하면 된다고 하셨던 것 같은데, 둘 다 바꿔서 실행했는데도 안되고 도저히 해결 방법을 모르겠네요... 보통 버전이 올라갈 때마다 하위 버전에서 실행됐던 것도 잘 동작하게 만들어야 하는 게 아닌가 답답하기도 하고 그래요ㅠㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Spring Security는 왜 필터를 사용할까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]인터셉터는 필터에 비해 다양한 기능을 제공한다고 하였는데 왜 Spring Security는 필터로 구현되었을까요?Spring Security가 MVC 뿐 아니라 다른 애플리케이션에도 활용되기 때문에 의존성을 줄이기 위함일까요?그 외에도 인터셉터가 필터에 비해 갖는 이점이 궁금합니다!
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
메소드 기반 커스텀 AuthorizationManager 구현 관련 질문
안녕하세요 강사님좋은 강의 감사드립니다.해당 영상보면서 따라해보고 있는데 시큐리티 버젼이 달라서 그런건지 원인은 잘 알 수 없지만 @PreAuthorize(value="") 이렇게 설정하면 에러가 발생합니다. 제가 작성한 코드는 다음과 같은데 이유를 알 수 있을까요?강의와 다른점은 저는 @PreAuthorize 어노테이션을 컨트롤러에 선언했습니다.확인해주시고 답변 주시면 정말 감사드리겠습니다.@Configuration @EnableWebSecurity @EnableMethodSecurity(prePostEnabled = false) public class CustomMethodAuthorizationManagerConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http.authorizeHttpRequests(auth -> auth .anyRequest().authenticated()) .formLogin(Customizer.withDefaults()) .csrf(AbstractHttpConfigurer::disable) ; return http.build(); } } @EnableMethodSecurity(prePostEnabled = false) @Configuration public class MethodSecurityConfig { @Bean @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public Advisor preAuthorize() { return AuthorizationManagerBeforeMethodInterceptor.preAuthorize(new MyPreAuthorizationManager()); } @Bean @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public Advisor postAuthorize() { return AuthorizationManagerAfterMethodInterceptor.postAuthorize(new MyPostAuthorizationManager()); } }MyPostAuthorizationManager와 MyPreAuthorizationManager는 강의의 코드와 동일합니다.@RestController @RequestMapping("/method/custom") @RequiredArgsConstructor public class CustomMethodController { @GetMapping("/admin") @PreAuthorize(value = "") public String admin() { return "admin"; } @GetMapping("/user") @PostAuthorize(value = "isAuthenticated()") public MethodAccountDTO user(String name) { return new MethodAccountDTO(name, false); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
<p th:text="'안녕하세요.ddd ' + ${data}" >안녕하세요. 손님</p>
<p th:text="'안녕하세요.ddd ' + ${data}" >안녕하세요. 손님</p> 이 부분에서, 정작 p태그의 사이 공간에 들어가는 내용 즉, "안녕하세요. 손님" 이 부분은 아예 화면에는 렌더링이 안 되는 걸로 보이는데 이 부분은 그러면 개발자 입장에서는 주석처럼 사용하는 건가요? 타임리프에서 p 태그의 사이공간은 어떻게 활용되는지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
이해확인 질문
두 가지 방법 (groups, 폼 객체 분리)에 대해 groups는 조건문 처럼 느껴졌고, 그래서 Item 클래스 하나만 이용해서 조건적 로직을 통해 각 컨트롤러에 입맛에 맞게 Item 객체에 검증을 수행하는 것 처럼 느껴졌습니다.이러한 조건문 적인 특징은 Item에 무언가 추가될 경우 수 많은 조건문들을 수정해야하는 느낌을 받았습니다. 또한 Item이 계속해서 바뀔 수 있겠다는 생각이 들었습니다. 이러한 과정에서 인터페이스로 연결된 수많은 컨트롤러에서 에러가 발생할 가능성이 있지 않을까 생각했습니다.반면 폼 객체 분리는 상황마다 Item과 비슷하지만 더욱 규제가 추가된, 입맛에 맞는 새로운 클래스를 구성해서 활용하는 . 데 있어서 더 확장적이라고 생각했습니다.제 이해가 맞을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 트랜잭션 전파
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]중복_회원_예외() 테스트에서 @Rollback(false)를 적용하고 테스트를 돌리면member1 & member2 모두 DB에 데이터가 들어가지 않는데이유를 생각해 보면 테스트에서 시작하는 중복_회원_예외() 메서드에서 2번의 조인 모두 @Rollback 이랑 @Transactional 모두 1개의 물리 트랜잭션에 묶여 있는 것이고 1개의 논리 트랜잭션인 2번째 join이 실패하였으니첫 번째 논리 트랜잭션은 @Rollback(false)이지만 해당 물리 트랜잭션이 실패 판정되어서 모두 롤백 되는 거겠죠?서비스 레벨에서 join()을 Propagation.REQUIRES_NEW를 통해 신규 물리 트랜잭션을 만드니까 예상대로 member1만 DB에 적용됩니다정리하면 테스트에서 붙이는 트랜잭션 또한 트랜잭션 전파 원리는 동일테스트에 트랜잭션을 붙이면 추가적으로 @Rollback(true)가 default로 붙는데 이 또한 같이 같은 원리로 전파된다가 맞을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost에 안
HelloSpringApplication 예하에 있는 main 함수를 run 했고, 첨부한 사진처럼 tomcat이 8080에 띄워졌다고 뜨는데, localhost에 들어가보면 거부했다고 뜨네요. 와이파이 이슈인가요...?
-
미해결스프링 시큐리티 OAuth2
통합 로그인 구축 관련해서 질문 드립니다.
안녕하세요.통합인증서버 - 클라이언트 - 백엔드서버 이런식으로 구성 되어 있는데요.플로우 관해서 질문이 있습니다.client -> auth server : return url / client id 통합인증서버로 보내고auth server -> client : auth id 통합인증서버에서 받고client -> be server : client id / auth id 클라이언트에서 받고be server -> auth server : client id / auth id 백엔드서버에서 통합인증서버로 보내고auth server -> be server : access token / refresh token 백엔드서버에서 통합인증서버로 받고be server -> client : access token / refresh token 백엔드서버에서 클라이언트 보내기이런식으로 구성을 한다고 하더라구요.저는 3번에서 바로 auth id를 통합인증서버로 보내고 토큰을 클라에서 받고 저장 그리고 백엔드 보내고 저장이라고 생각이 드는데요.불필요한 작업이 추가로 하는거 같다라는 생각을 했는데요. 클라에서 auth id를 통합인증서버로 보낼때 get으로 보내서 보안 문제가 있어서 서버 투 서버로 보낸다고 하더라구요.(백앤드 서버에서 보내는 것만 받으려고)어떠한 방식이 옳은건지, 저렇게 하면 보안적으로 더 좋은건지 잘 모르겠습니다.제가 생각하는 방식으로 해도 되는건지.. 고견 부탁드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
다대일 ,일대다 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Member와 Order의 연관관계에서 궁금한 점이 있습니다.Member와 Order 테이블만 보고, 일대 다 양방향 연관관계인지 다대 일 양방향 연관관계인지 정하는 기준이 있을까요?일대 다의 단방향 연관관계매핑은 사용하지 않는것이 좋다는건 기본편에서 들어서 배웠습니다.그런데 왜? 양방향 연관관계는 사용하면 안되는건가요?Member에서 Order를 가진다고 문제될게 있나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
static 폴더 인식이 안됨
강의 내용 대로 코드를 짰는데 localhost::8080으로 연결하면 static 폴더에 있는 html이 아닌 template 폴더에 있는 html이 뜹니다. static 폴더에 있는 html을 실행시키면 localhost::63342로 정적 페이지가 뜹니다. thymeleaf를 이용한 template 폴더에 있는 파일은 localhost::8080/hello를 하면 제대로 뜹니다. 무엇이 문제인걸까요
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
select 쿼리가 나가는 이유
섹션 4. 회원 도메인 개발 회원 기능 테스트 강좌 관련 질문입니다. @Test public void 회원가입() throws Exception { // given Member member = new Member(); member.setName("kim"); // when Long saveId = memberService.join(member); // then assertEquals(member, memberRepository.findOne(saveId)); }위의 코드를 실행시켰을 때, insert문 쿼리가 왜 나가지 않는지는 이해를 했습니다. 하지만 select 쿼리가 왜 나가는지는 궁금합니다.제가 생각한 흐름을 설명드리면,memberService의 join 함수를 실행해서 member 객체를 영속화하게 되면 1차 캐시에 해당 데이터가 저장이 될 것이고 동시에 쓰기 지연 SQL 저장소에 insert 쿼리문이 쌓입니다. 이때 쿼리문은 트랜잭션이 커밋되면 DB에 반영이 되지만 테스트 클래스에서는 트랜잭션이 롤백되기 때문에 insert 쿼리가 나가지 않게 됩니다. 이후 findOne 메소드를 실행할 때에는 DB에서 직접 찌르는 것이 아니라 1차 캐시에 저장되어 있기 때문에 1차 캐시에서 데이터를 가져와도 되기 때문에 select문이 나가지 않아도 된다고 생각했는데 실제 실행결과를 보니 select 쿼리문이 나가더군요.. 이유가 궁금합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
File not found:
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]순수 jdbc 강의 16분내용으로 코드실행하는데 매핑한 주소 모두 file not found가 뜹니다..Identify and stop the process that's listening on port 8082 or configure this application to listen on another port.라고 콘솔에는 뜨는데 톰캣포트랑 h2포트랑 같아서 생기는 문제일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest 실행시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MemberServiceIntegrationTest 에서 회원가입 코드를 실행하면 MemberController 에서 오류가 발생합니다.이유가 무엇일까요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
MVC06에 회원정보수정, 이미지등록수정 강의 영상이 없습니다
영상을 보면서 진행을 했는데이미지 등록 부분에서 에러가 발생하길래확인해 보니 깃허브에 수정된 코드들은 있지만수정과 관련된 영상들은 누락되었네요 깃허브 코드 복붙해서 혼자 해보긴 했는데업로드가 오래된 강의이긴 하지만 분명 검수 과정이 있었을텐데인식을 못하셨다는게 아쉽네요 다른 부분들은 보면서 많이 도움이 되었습니다
-
해결됨스프링 핵심 원리 - 기본편
LogDemoController 오류 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]섹션 9에서 LogDemoController 에 관한 코드를 강의와 똑같이 작성하였는데, 빨간색 글씨로 바뀌면서 오류가 발생합니다. 어떻게 해야 하나요?