본문 바로가기

Spring

(71)
Spring Boot Controller를 만들고 Test하기 spring boot 앱을 띄우고 controller를 테스트 해야 하는데 테스트 시나리오를 구성 해주어야 합니다. 그리고 spring boot는 db와 io 하는 코드가 많은데 이게 잘 되는지를 검증 해볼 필요가 있다. 과정 1. 특정 controller가 실행 되었을 때 해당 controller로 들어온 request body를 읽어서 다시 return해줍니다. 2. 만든 스프링부트 앱을 콜하면 스프링부트앱이 네이버에 콜을 보내서 받아온 값을 json으로 바꿔서 값을 뽑아서 3. pojo에 저장하고 그걸 repository를 이용해 db에 저장 build.gradle dependencies { implementation group: 'org.springframework.boot', name: 'sp..
spring boot logback 환경별(dev, qa, prod)설정, 끄는법 spring boot logback설정 https://dzone.com/articles/configuring-logback-with-spring-boot 참고함 로그 레벨 TRACE -> DEBUG -> INFO -> WARN -> ERROR ex) INFO로 해놓는 경우 DEBUG, TRACE레벨의 로그는 안보입니다. DEBUG로 해놓는 경우는 TRACE레벨의 로그는 안보입니다. 1.logback-spring.xml을 사용한다. %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n testFile.log true true %-4relative [%thread] %-5level %logger{35} - %msg%n 2.profile %d{HH:mm:ss.SS..
AWS Elastic Beanstalk용 Spring Boot 샘플 AWS Elastic Beanstalk용 Spring Boot 샘플 spring boot를 AWS EB에 배포할 때 신경 써줘야 할게 있는데 그것 때문에 시간을 보낸적이 많다. https://github.com/Kyeongrok/aws_eb_spring_sample Spring Boot initializer로 빌드 했고 spring boot actuator, spring boot web만 추가 했다. pom.xml설정 org.springframework.boot spring-boot-maven-plugin maven-war-plugin src/main/ebextensions .ebextensions true 위 설정을 추가 해주어야 한다. sample 20180629-0001 war 그리고 war 이것도..
aws eb에서 spring boot안뜰 때 aws eb에서 spring boot안뜰 때123456789101112131415161718import lombok.extern.slf4j.Slf4j;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;import org.springframework.cache.annotation.EnableCaching;import org.springframework.scheduling.annotation.EnableSc..
spring boot datasource만들기 spring boot datasource만들기 DataSourceConfiguration.java import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.datasource.DriverManagerDataSource; import javax.sql.DataSource; @Slf4j @Configuration public class DataS..
Spring Boot Scheduler Cron(크론) Spring Boot Scheduler Cron(크론) 스프링부트에서 특정 시간마다 반복되게 하고 싶다면 Cron(크론)을 사용합니다. 크론은 다음과 같이 * * * * * * 총 6자리로 이루어져 있습니다. 각 자리는 초, 분, 시, 일, 월, 요일 입니다. "0 0 * * * *" = the top of every hour of every day. "* * * * * *" = 매초 실행 합니다. "*/10 * * * * *" = 매 10초마다 실행한다. 0 */1 * * * = 매시간 실행 합니다. "0 0 8-10 * * *" = 매일 8, 9, 10시에 실행한다 "0 0 6,19 * * *" = 매일 오전 6시, 오후 7시에 실행한다. "0 0/30 8-10 * * *" = 8:00, 8:30, ..
Spring Data Jpa에서 LocalDateTime이용해서 자동으로 createdAt만들기 Spring Data Jpa에서 LocalDateTime이용해서 자동으로 createdAt만들기 개요 쇼핑몰에서 사용자가 물건을 구매 한다고 했을 때 언제 구매를 했는지 그리고 결제를 했다면 언제 결제를 했는지 등 날짜, 시간에 관한 정보가 꼭 필요한 table들이 있습니다. 여기에서 트렌젝션이 발생한 날짜와 시간을 기록하게 하고 싶을 때 아래와 같이 Object를 만들어 주면 날짜를 현재 시간으로 만들어서 기록 할 수 있습니다. import lombok.Data; import javax.persistence.*; import java.time.LocalDateTime; @Data @Entity public class Salary { @Id @GeneratedValue(strategy = Generati..
spring boot 실시간 hot deploy하기 spring boot 실시간 hot deploy하기 https://stackoverflow.com/questions/23155244/spring-boot-hotswap-with-intellij-idehttps://dzone.com/articles/spring-boot-application-live-reload-hot-swap-with참고는 여기 스프링 프로젝트를 빌드하고 나서 hot deploy설정을 해주는데 기존에 하던 프로젝트면 설정을 이미 해놓아서 괜찮은데 실시간 반영 되게 핫 디플로이 설정을 하려면 자주 하는 설정이 아니라서 매번 찾아보아야 했다. 그래서 올려놓는다. 방법은1.spring-boot-devtools를 라이브러리에 추가한다.2.intelli j 에서 설정한다.3.ctrl + shift..