본문 바로가기

개발/스프링 프레임워크

(8)
[Spring Boot] JPA + PostgreSQL 연결 개인프로젝트를 진행하면서 기존에 Oracle 또는 MySQL/MariaDB 반 사용하다가 이번에 PostgreSQL 를 사용해보고자 SpringBoot Data JPA + PostgreSQL 를 포스팅하겠습니다. PostgreSQL 은 AWS 에서 프리티어로 생성 1. build.gradle SpringData JPA , PostgreSQL Dependency 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.postgresql:postgresql:42..
[SpringBoot3 + Log4j2] Routing 활용하여 요청별 로그파일 생성 1. gradle 설정 spring-boot-stater-logging exclude 처리 spring-boot-stater-log4j2 추가 plugins { id 'java' id 'org.springframework.boot' version '3.1.2' id 'io.spring.dependency-management' version '1.1.2' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } all { exclude group: 'org.springframework.boot'..
[Spring Boot] JPA, AuditorAware 사용하여 사용자정보 자동 입력 1. Config 생성 @EnableJpaAuditing 어노테이션을 추가하여 Annotation 을 사용하여 Audit 활성화 @Configuration @EnableJpaAuditing public class JpaAuditConfig { @Bean public AuditorAware auditorProvider() { return new AuditorAwareImpl(); } } 2. AuditorAware 구현체 생성 getCurrentAuditor() 를 구현하여 등록자, 수정자에 사용될 사용자 정보를 불러온 후 리턴한다. public class AuditorAwareImpl implements AuditorAware { @Override public Optional getCurrentAudit..
[Spring Boot] AutoConfigureMockMvc 사용하여 Controller 테스트 1. Sample Controller 생성 @RestController @Slf4j @RequestMapping("/sample-board") public class SampleBoardController { private SampleBoardService sampleBoardService; public SampleBoardController(SampleBoardService sampleBoardService) { this.sampleBoardService = sampleBoardService; } @GetMapping public List getSampleBoards() { ///sample-board return sampleBoardService.getSampleBoards(); } } 2. Test..
[Spring Boot] H2 + JPA 세팅 1. Gradle Dependencies 추가 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'com.h2database:h2:2.1.214' * dependency 추가시 로컬 PC에 설치된 h2 버전과 동일하게 맞추는것이 좋다. 2. application.properteis 추가 #setting h2 spring.h2.console.enabled=true spring.h2.console.path=/h2-console #setting h2 db spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-na..
[Spring Secutiry] Invalid CSRF token found for... Spring Security 를 사용하여 개발중 Invalid CSRF token found for... 와 같은 에러가 발생하면서 로그인이 진행되지 않았다. CSRF는 Cross-site request forgery (크로스-사이트 요청 위조) 이다. 위 문제를 해결하기 위해서는 CSRF Token 추가해야한다. 서버에서는 해당 토큰을 받아 세션에 추가한후 이후에 요청 파라미터의 토큰값과 세션의 토큰값을 비교하여 일치하는지 검증해야한다. 1. maven dependency 추가 org.springframework.security spring-security-taglibs ${secutiry.version} 2. taglib 추가 3. form 태그 안에 csrf 추가
[스프링 프레임워크] 스프링MVC 프로젝트 + 톰캣 연결 스프링MVC 프로젝트 + 톰캣 연결 지난번에는 스프링 MVC 프로젝트를 생성한뒤 스프링버전을 변경해보았다. 이번에는 생성한 프로젝트에 톰캣을 연결하여 사용하는 방법에 대해 진행해보도록 하겠다. 우선 톰캣을 설치해야 하는데 아래 링크로 이동하면 톰캣을 다운로드하는 사이트로 이동한다. https://tomcat.apache.org 아래는 아파치톰캣 사이트에 있는 톰켓버전에 대한 설명이다. 아래 스펙에 따른 톰캣버전을 사용하면 되는데 여기서 7.0.x 버전으로 진행하겠다. 설치할 버전을 선택했다면 아래와 같이 다운로드하려는 버전을 왼쪽에서 선택하고 아래쪽에서 자신으 컴퓨터 bit 수에맞는 .zip 파일을 선택해서 다운로드한다. 다운로드한 파일은 zip 파일을 풀어 자신이 원하는 디렉터리에 넣으면된다. 이제 S..
[스프링 프레임워크] 스프링MVC 프로젝트 생성 및 스프링버전 변경 스프링MVC 프로젝트 생성 및 스프링버전 변경 이번에는 스프링프레임워크(SpringFramework) 에 대해서 다뤄보고자 한다. 스프링 실습환경은 SpringToolSuite(STS) 에서 진행하며 자바는 JDK1.8버전을 사용할것이다. 이클리스에서 스프링 라이브러리를 다운받아서 사용할 수 있지만 간편하게 스프링 프로젝트를 생성하기 위해 STS 를 선택하였다. New Spring Legacy Project MVC 프로젝트를 생성하려면 상단 메뉴에서 File -> New -> Spring Legacy Project 를 생성한다. 여러 프로젝트가 있지만 여기서는 Spring MVC Project 를 생성하겠다. 아래와 같이 선택한다음 [ Next > ] [ Next > ] 버튼을 눌렀더니 아래와 같이 메시..