inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

실무에서 @DynamicInsert, @DynamicUpdate 사용하나요?

미해결

실전! 스프링 데이터 JPA

안녕하세요! 좋은 강의 잘 들었습니다! 실무에서 JPA를 사용하면서 궁금한점이 있어서요 실무에서는 @DynamicInsert, @DynamicUpdate 사용하고 있는데 영한님은 한번도 안쓰시더라구요..! 실무에서는 어떻게 사용하시는지 궁금합니다! @DynamicInsert, @DynamicUpdate 사용하지 않으면 어떻게 사용하는지도 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
ILoveBackEnd 댓글 2 좋아요 0 조회수 3687

왜 파일이 안나오는지 모르겠어요;;

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 경로를 들어가고싶은데 안들어가져요 참고로 관리자계정으로 했는데도 똑같아요

  • java
  • spring
  • mvc
  • spring-boot
삼슥 댓글 1 좋아요 0 조회수 537

로그아웃 기능

해결됨

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

안녕하세요 호돌맨님 강의 너무 잘 듣고 있습니다. 다름이 아니라 로그아웃 기능에 대해서 질문이 있습니다. @PostMapping("/auth/logout") public ResponseEntity<Object> logout(UserSession userSession) { ResponseCookie cookie = ResponseCookie.from("SESSION", "") .path("/") .maxAge(0) .build(); return ResponseEntity.ok() .header(HttpHeaders.SET_COOKIE, cookie.toString()) .build(); } 현재 컨트롤러만 만들었고 쿠키 maxAge에 0값을 주는 방법으로 로그아웃 되는 건 확인했습니다. 궁금한 건 로그아웃 할 때 user가 가지고 있는 session 리스트와 sessionRepository에서 session을 지워주는 것이 맞는지 궁금합니다. 만약 지워주는 방식으로 한다며 자동으로 만료되는 쿠키에 session에 대해선 어떻게 처리하나요?

  • spring-boot
  • jpa
fksfks015 댓글 2 좋아요 1 조회수 747

processor 분기 처리

미해결

스프링 배치

안녕하세요 강의 도움이 많이되고 있어 감사말씀드립니다. 제가 FCM을 사용한 그룹 알림 발송 배치 API 를 개발 중에 있습니다. processor 에서 그룹에 속한 알림에 대해서 fcm 전송을 하는데 trcy catch 로 성공일 경우 알림성공 업데이트를 위한 객체를 생성하고 실패일 경우 알림실패 업데이트를 위한 객체 따로따로 생성하고 있습니다. 그 다음으로 writer 로 던집니다. 문제는 stepListener 에서 총 몇개에서 총 몇건 전송했고, 성공, 실패 로깅하는 방법을 모르겠습니다. 또 stepListener 에서 모두 다 실패했으면 알림 그룹의 상태 값을 전송 실패 그 외 성공으로 변경하는 로직이 있습니다. 추가 + 일단 StepSynchronizationManager 를 사용해서 ExecutionContext 에 저장해서 stepListener 에서 아래와 같이 사용하고 있습니다. 올바르게 사용한건지 궁금합니다. int successCount = stepExecution.getExecutionContext().getInt("successCount", 0); int failureCount = stepExecution.getExecutionContext().getInt("failureCount", 0);

  • spring-boot
  • spring-batch
jinseok 댓글 2 좋아요 0 조회수 400

중복회원가입 가능

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 회원 가입을 할 때 중복 회원 가입이 안 되어야 하는데 데이터를 살펴보면 중복으로 회원가입이 됩니다. 코드 상으로는 문제가 없어 보였는데 확인 한 번 부탁드리겠습니다!

  • java
  • spring
  • mvc
  • spring-boot
뿌요뿌요 댓글 1 좋아요 0 조회수 405

혹시 강의 중에 설치한 플러그인이 뭔지 알수 있을까요??

미해결

스프링 부트 - 핵심 원리와 활용

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 혹시 강의에서 설치한 플러그인 이 뭔지 알수 있을까요? 제화면하고 다른듯하네요

  • spring
  • spring-boot
  • prometheus
  • grafana
성문 댓글 1 좋아요 1 조회수 451

스프링 시큐리티 예외 RestControllerAdvice로 처리

미해결

[초급] 찍어먹자! 코틀린과 Spring Security + JWT로 회원가입 만들기

스프링 시큐리티가 던지는 예외는 RestControllerAdvice로 처리하려면 따로 설정을 만져야하는걸로 아는데 강사님 강의에서는 별다른 설정없이 이런식으로 예외처리가 되고있는데 어느 부분때문에 가능한건가요 ? ㅠㅠ 혹시 로그인시 서비스단에서 token 생성 처리를 하고있어서 예외처리가 될수있는건가요 ??

  • kotlin
  • spring-boot
  • jpa
  • spring-security
  • jwt
akskflwn 댓글 1 좋아요 0 조회수 475

톰캣 연결하여 실행이 안됩니다.

미해결

스프링 부트 - 핵심 원리와 활용

Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@1189dd52] 답변 부탁드립니다.

  • spring
  • spring-boot
  • prometheus
  • grafana
카망베르 댓글 3 좋아요 2 조회수 1579

http://localhost:8080/hello-mvc?name=spring!! 이 부분 에러가 발생합니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. localhost:8080 까지는 잘나오고 다 잘 따라친거 같은데 뒤에 hello-mvc 부분부터는 에러가 발생하네요 ㅠㅠ

  • java
  • spring
  • mvc
  • spring-boot
지수환 댓글 3 좋아요 0 조회수 848

파트4-5강의 실습중 manager로 로그인하고난후 /api/messages를 호출시 Authentication가 Anonymous토큰상태가 되어버립니다.

미해결

스프링 시큐리티

실습중 manager로 로그인해도 계속 401에러가발생하여 /api/messages에 대해 permitAll권한을주어 테스트해보았는데 위에 스크린샷처럼 Anonymous토큰상태여서 발생하는듯한데 프로바이더에서 토큰처리는 완료한 상태입니다. 로그인도 정상적으로 되고있구요. 뭔가 해야 할 작업이 빠진걸까요? 스프링은 3.03버젼이고 스프링시큐리티도 6버전대입니다 package io.security.corespringsecurity.security.config; import io.security.corespringsecurity.security.common.AjaxAccessDeniedHandler; import io.security.corespringsecurity.security.common.AjaxLoginAuthenticationEntryPoint; import io.security.corespringsecurity.security.filter.AjaxLoginProcessingFilter; import io.security.corespringsecurity.security.habdler.AjaxAuthenticationFailureHandler; import io.security.corespringsecurity.security.habdler.AjaxAuthenticationSuccessHandler; import io.security.corespringsecurity.security.provider.AjaxAuthenticationProvider; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.authentication.ProviderManager; import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.security.web.authentication.AuthenticationFailureHandler; import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; @Configuration @Order(0) @RequiredArgsConstructor public class AjaxSecurityConfig { private final AuthenticationConfiguration authenticationConfiguration; @Bean public AjaxAuthenticationProvider ajaxAuthenticationProvider(){ return new AjaxAuthenticationProvider(); } @Bean public AuthenticationSuccessHandler ajaxAuthenticationSuccessHandler(){ return new AjaxAuthenticationSuccessHandler(); } @Bean public AuthenticationFailureHandler ajaxAuthenticationFailureHandler(){ return new AjaxAuthenticationFailureHandler(); } @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception{ http .authorizeHttpRequests(requests -> requests .requestMatchers("/api/**").permitAll() .requestMatchers(HttpMethod.GET,"/api/messages").hasRole("MANAGER") .anyRequest().authenticated()); http .exceptionHandling() .authenticationEntryPoint(new AjaxLoginAuthenticationEntryPoint()) .and() .addFilterBefore(ajaxLoginProcessingFilter(), UsernamePasswordAuthenticationFilter.class); http.csrf().disable(); return http.getOrBuild(); } @Bean public AccessDeniedHandler ajaxAccessDeniedHandler(){ return new AjaxAccessDeniedHandler(); } @Bean public AuthenticationManager authenticationManager() throws Exception{ ProviderManager providerManager = (ProviderManager)authenticationConfiguration.getAuthenticationManager(); providerManager.getProviders().add(ajaxAuthenticationProvider()); return providerManager; } @Bean public AjaxLoginProcessingFilter ajaxLoginProcessingFilter() throws Exception{ AjaxLoginProcessingFilter ajaxLoginProcessingFilter = new AjaxLoginProcessingFilter(); ajaxLoginProcessingFilter.setAuthenticationManager(authenticationManager()); ajaxLoginProcessingFilter.setAuthenticationSuccessHandler(ajaxAuthenticationSuccessHandler()); ajaxLoginProcessingFilter.setAuthenticationFailureHandler(ajaxAuthenticationFailureHandler()); return ajaxLoginProcessingFilter; } } package io.security.corespringsecurity.security.provider; import io.security.corespringsecurity.security.service.AccountContext; import io.security.corespringsecurity.security.token.AjaxAuthenticationToken; import io.security.corespringsecurity.util.PBKDF2Util; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.security.NoSuchAlgorithmException; import java.security.spec.InvalidKeySpecException; @Component public class AjaxAuthenticationProvider implements AuthenticationProvider{ @Autowired private UserDetailsService userDetailsService; @Transactional @Override public Authentication authenticate(Authentication authentication) throws AuthenticationException { String username = authentication.getName(); String password = (String)authentication.getCredentials(); AccountContext accountContext = (AccountContext)userDetailsService.loadUserByUsername(username); try { if(!PBKDF2Util.validatePassword(password, accountContext.getAccount().getPassword())){ throw new BadCredentialsException("BadCredentialsException"); } } catch (NoSuchAlgorithmException | InvalidKeySpecException e) { throw new RuntimeException(e); } return new AjaxAuthenticationToken(accountContext.getAccount(), null, accountContext.getAuthorities()); } @Override public boolean supports(Class<?> authentication) { return authentication.equals(AjaxAuthenticationToken.class); } } package io.security.corespringsecurity.security.filter; import com.fasterxml.jackson.databind.ObjectMapper; import io.security.corespringsecurity.domain.AccountDto; import io.security.corespringsecurity.security.token.AjaxAuthenticationToken; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import org.thymeleaf.util.StringUtils; import java.io.IOException; public class AjaxLoginProcessingFilter extends AbstractAuthenticationProcessingFilter { private ObjectMapper objectMapper = new ObjectMapper(); public AjaxLoginProcessingFilter() { super(new AntPathRequestMatcher("/api/login")); } @Override public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException, IOException, ServletException { if(!jsAjax(request)){ throw new IllegalStateException("Authentication is not supported"); } AccountDto accountDto = objectMapper.readValue(request.getReader(), AccountDto.class); if(StringUtils.isEmpty(accountDto.getUsername()) || StringUtils.isEmpty(accountDto.getPassword())){ throw new IllegalArgumentException("Username or Password is empty"); } AjaxAuthenticationToken authenticationToken = new AjaxAuthenticationToken(accountDto.getUsername(), accountDto.getPassword()); return getAuthenticationManager().authenticate(authenticationToken); } private boolean jsAjax(HttpServletRequest request) { if("XMLHttpRequest".equals(request.getHeader("X-Requested-With"))){ return true; } return false; } }

  • java
  • spring-boot
  • spring-security
ultimates 댓글 2 좋아요 0 조회수 538

springSecurit jwt에 대해서 질문드립니다.

미해결

스프링 부트 개념과 활용

강좌 완강하고 난뒤에 리액트랑 연계프로젝트 만들면서 jwt작업하다가 궁금한게 있어서 질문드립니다. 1.리액트( localhost:3000 ) ,스프링부트 ( localhost:8080 ) 의 Cors 설정입니다 @Configuration @EnableWebMvc public class WebConfig { private static final Long MAX_AGE = 3600L; private static final int CORS_FILTER_ORDER = -102; @Bean public FilterRegistrationBean corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); config.addAllowedOrigin("http://localhost:3000"); config.setAllowedHeaders(Arrays.asList( HttpHeaders.AUTHORIZATION, HttpHeaders.CONTENT_TYPE, HttpHeaders.ACCEPT)); config.setAllowedMethods(Arrays.asList( HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.PUT.name(), HttpMethod.DELETE.name())); config.setMaxAge(MAX_AGE); source.registerCorsConfiguration("/**", config); FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source)); bean.setOrder(CORS_FILTER_ORDER); return bean; } } Security 설정일부입니다 @Bean SecurityFilterChain filterChain(HttpSecurity http) throws Exception { return http .authorizeRequests(requests -> requests .requestMatchers("/login", "/signup", "/user").permitAll() .requestMatchers("http://localhost:8080/main") .hasAnyAuthority("ROLE_USER") ) .formLogin(login -> login .loginPage("/login") .usernameParameter("username") .loginProcessingUrl("/loginProcess") .successHandler((req, res, auth) -> { //여기선 토큰이 잘 나옵니다 데이터 String token = JwtUtil.generateToken(auth.getName()); res.addHeader("Authorization", "Bearer " + token); }) ) .logout(logout -> logout .logoutSuccessUrl("/login") .invalidateHttpSession(true) ) .csrf(csrf -> csrf.disable()) .build(); } 프론트쪽 react 입니다. axios .post(`${SERVER_URL}/loginProcess`, null, { params: loginData }) .then((response) => { //authorization,Authorization 바꿔봐도 둘다 안나옵니다. const token = response.headers["authorization"]; console.log("토큰:::::::::::::::::::::::::::::" + token); <==undefined가 나와요 localStorage.setItem("token", token); }) .catch((error) => console.log("Error:", error)); 문제점 : 서버에서 로그인은 정상적으로 되고 token생성까진 되는데 jwt의 토큰을 클라이언트인 리액트 쪽에서 받아오질 못하네요 이거 혹시 어디가 잘못된건지 알수있을까요 ?

  • java
  • spring
  • spring-boot
blossom_mind 댓글 1 좋아요 0 조회수 398

Cannot resolve method 'assertThat' in 'Assertions' 해결법

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] testMember을 할 때 Assertion.assertThat을 하면 asserThat에서 빨간 밑줄이 뜹니다. 에러 내용은 Cannot resolve method 'assertThat' in 'Assertions'입니다. 질문들도 찾아보고 인터넷 해결법들도 시도해봤으나, 잘 맞지 않네요. 최대한 수업자료 따라가고 있는데, 하란 것들도 다 세팅했습니다. 유일하게 다른 점은 스프링부트의 버전인데, 공식 사이트에서 2.7 버전까지 밖에 안 떠서 2.7.16버전으로 시작했습니다. gradle세팅도 다 맞췄고요. 결과적으로 저는 그냥 Assertions.asserEquals를 사용하는 것으로 해결했습니다. 저랑 비슷한 문제 겪으시는 분들은 이렇게 하셔도 될 듯합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
  • junit
한성현 댓글 1 좋아요 2 조회수 740

AuthorizedClient를 Service를 통해서 가져올시

미해결

스프링 시큐리티 OAuth2

위에 사진으로 authorizedClient가 nullpoint 에러가 발생합니다. repository시에는 authorizedClient는 잘 가져오는데 service로 load시에 못 가져오는거 같습니다. 왜 그런건지 궁금합니다

  • java
  • spring
  • spring-boot
  • oauth
hangs0908 댓글 1 좋아요 0 조회수 330

에러 처리 궁금한점

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

안녕하세요 현재는 각 도메인에서 서킷브레이커를 적용했는대, api-gateaway에서는 처리를 해줄 수 없을까요? (공통적으로) 현재는 도메인수가 적지만 만약에 라우팅 될 도메인들이 10개 이상 넘어가면 공통적으로 처리할 수 있는 것도 필요해보여서요. (어느 도메인으로 라우팅될조 모르지만)

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
박경훈 댓글 1 좋아요 0 조회수 329

1-6 생성자 오류

미해결

쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS

TestRequestBody 부분을 똑같이 작성했는데 No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator. 라고 오류가 생성돼서 아래처럼 코드를 바꿨더니 실행이되는데 이유를 모르겠습니다 public static class TestRequestBody { String name; Integer age; public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public TestRequestBody () {} //Request Body 방식을 사용하기 위해서는 생성자를 꼭 만들어야한다 // public TestRequestBody(String name, Integer age) { // this.name = name; // this.age = age; // } }

  • spring
  • git
  • docker
  • spring-boot
  • jpa
  • github
경현 댓글 2 좋아요 1 조회수 298

현재 영상이 안나오는거같은데 나오나요?

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

다른 학습목록은 재생이 잘되는데 여기부분만안나오는데 저만안나오는걸까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 265

연관관계 질문

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 외래키 관련해서 질문을 드리고 싶은게 @JointoColumn을 통해 연관관계의 주인을 정하는건 알겠습니다. 그런데 다른 경우에는 mappedBy를 적은것과 다르게 24:18에 OrderItem과 Item과의 연결에선 mappedBy를 적지 않은게 좀 헷갈립니다. 여기선 쓰지 않는 이유가 뭔가요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
한창훈 댓글 1 좋아요 0 조회수 311

예외처리

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

안녕하세요. 문득 궁금한 점이 생겼는대요.. 주문이 성공하고나서 카탈로그 쪽에서 장애가 발생해서 롤백을 해야한다고 했을 때는 처리방안이 어떻게 되나요?? 찾아보니까 사가패턴 ? 이런거 사용하는것으로 보이는대, 다른 방안도 있을까요? (처리가 좀 어렵네요)

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
박경훈 댓글 1 좋아요 0 조회수 296

Validation Map으로 구현된걸 List로 바꿔봤는데 이 방식이 맞을까요?

미해결

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

이렇게 바꿔봤는데 Body = {"code":"400","message":"잘못된 요청입니다.","validation":[{"fieldName":"content","errorMessage":"내용을 입력해주세요"},{"fieldName":"title","errorMessage":"제목 을 입력해주세요"}]} 이렇게 배열로 응답이 갈수있게 바꿔봤는데 괜찮을까요?

  • vue.js
  • aws
  • spring-boot
  • jpa
  • spring-security
배성환 댓글 2 좋아요 0 조회수 652

2강 Board.xml에 만들 때 오류를 어떻게 해결해야 하나

미해결

자바 스프링부트 활용 웹개발 실무용

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mvc.repository.BoardRepository"> <select id="getList" parameterType="com.example.demo.mvc.domain.Board" resultType="com.example.demo.mvc.domain.Board"> SELECT B.BOARD_SEQ, B.TITLE, B.CONTENTS, B.REG_DATE FROM T_BOARD B ORDER BY B.REG_DATE DESC </select> <select id="get" parameterType="com.example.demo.mvc.domain.Board" resultType="com.example.demo.mvc.domain.Board"> SELECT B.BOARD_SEQ, B.TITLE, B.CONTENTS, B.REG_DATE FROM T_BOARD B WHERE B.BOARD_SEQ = #{boardSeq} </select> <insert id="save" parameterType="com.example.demo.mvc.domain.Board"> INSERT INTO T_BOARD ( TITLE, CONTENTS, REG_DATE ) VALUES ( #{title}, #{contents}, NOW() ) </insert> <update id="update" parameterType="com.example.demo.mvc.domain.Board"> UPDATE T_BOARD SET TITLE = #{title}, CONTENTS = #{contents} WHERE BOARD_SEQ = #{boardSeq} </update> <delete id="delete" parameterType="com.example.demo.mvc.domain.Board"> DELETE FROM T_BOARD WHERE BOARD_SEQ = #{boardSeq} </delete> </mapper> 이 코드에서 http://mybatis.org/dtd/mybatis-3-mapper.dtd 이부분에서는 Downloading external resources is disabled. 라는 오류가 나오고요 <mapper> 부분에서는 Element type "mapper" must be declared. 라는 오류가 나오 <select> 부분도 Element type "select" must be declared. 라는 오류가 나옵니다 어떻게 해결해야 하지요?

  • spring-boot
현성 댓글 1 좋아요 0 조회수 8984

인기 태그

인프런 TOP Writers

주간 인기글