본문 바로가기

springboot3

Tomcat8.5 + SpringBoot CORS 문제 해결 환경은 SpringBoot의 내장톰캣을 이용하지 않고 톰캣 서버를 별도로 설치하여 그 안에서 스프링부트 앱을 올리는 구조였다. 프로젝트의 API를 프론트개발 쪽에서 호출해야 하는데 CORS 문제가 있어 Spring Security에서 CORS 관련 코드를 추가하여 해결했다. @Override protected void configure(HttpSecurity http) throws Exception { http ... .and() .cors().configurationSource(corsConfigurationSource()) .and() ... } @Bean public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration conf.. 2021. 9. 10.
[Spring][Transaction] 트랜잭션 제외하기, 트랜잭션 제외 안 될 때 음식점 예약 기능을 구현하던 중이었다. 예약을 담당하는 ReservationService에서 makeReservation 메소드를 통해 손님의 예약 정보를 저장한다. 예약 확인 문자가 정상적으로 전송되지 않았을 때는 예약 자체가 안 된 것으로 처리해야했으므로 예약 정보 저장이 롤백되어야 했다. 그래서 @Transactional 어노테이션을 달아 트랜잭션을 관리했다. 아래는 간략화한 코드이다. public class ReservationService{ @Transactional //1. 예약 public void makeRservation(ReservationInfo info) throws ReservationException, SMSException{ saveRerservationInfo(info); /.. 2020. 9. 7.
SpringBoot ViewResolver 설정, application.yml 읽지 못할 때 기존에 커스터마이징이 필요해 자바 설정에서 ViewResolver를 설정했었다. @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setViewClass(JstlView.class); viewResolver.setPrefix("/WEB-INF/views/"); viewResolver.setSuffix(".jsp"); viewResolver.setOrder(1); return viewResolver; } 그런데 추가 설정이 application.yml에서 가능하다는 것을 알게 되어 설정을.. 2020. 6. 18.