본문 바로가기

Spring Boot6

[Spring Boot] Elastic Stack 연동 (ELK 연동) 이번 포스팅에서는 Elastic Stack을 연동하는 방법에 대해서 포스팅하려고한다. 서버에 Elastic Stack을 설치하지 않았다면 여기를 참고하면된다. 1. logstash dependency 추가 (build.gradle) implementation 'net.logstash.logback:logstash-logback-encoder:6.6' 2. logback-spring.xml 파일 추가 logback-spring.xml을 resources 폴더 아래에 추가한다. %-5level %d{HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n %d{yyyy-MM-dd HH:mm:ss.SSS}[%-5level] : %msg%n INFO mylog.txt mylog-%d{yy.. 2021. 11. 28.
[Spring Boot] JUnit을 활용한 테스트 코드 작성(1) 1. 테스트 코드 작성 이유 테스트 코드를 작성하는 이유는 여러가지가 있습니다. 코드의 안정성을 높이고, 기능을 추가하거나 수정하면서 발생하는 부작용(Side-Effect)를 줄일 수 있습니다. 그렇기 때문에 기존 코드를 수정하는 것에 대한 불안감을 줄일 수 있고, 결과적으로 생산성을 높여줄 수 있습니다. 또한 더 깔끔하고 좋은 코드를 작성하게 해줍니다. 2. F.I.R.S.T 단위 테스트 원칙 단위 테스트는 가장 작은 단위의 테스트입니다. 단위 테스트만 구성되어도 굉장히 많은 문제를 해결할 수 있습니다. Fast : 테스트 코드를 실행하는 일은 오래 걸리면 안된다. Independent:독립적으로 실행이 되어야 한다. Repeatable : 테스트는 실행할 때마다 같은 결과를 만들어야 한다. Self-.. 2020. 5. 3.
[Spring Boot] 의존성 주입 생성자 주입 평소에 코드를 짤 때 필드에 객체를 선언하고 @Autowired 애노테이션을 통해 의존성을 주입하는 방식을 사용해 왔습니다. 그런데 이 방식은 공식 사이트에서도 추천하지 않습니다. 그 이유를 정리해보겠습니다. 의존성 주입의 종류는 Constructor, Setter, Field 타입이 있습니다. 1. 의존성 주입 다음 코드는 의존성을 Constructor Injection(생성자 주입 방식)으로 주입해주는 코드입니다. public Class ItemService{ private final ItemDao itemDao; private final ItemPriceDao itemPriceDao; @Autowired public ItemService(ItemDao itemDao, ItemPriceDao item.. 2020. 5. 3.
[Spring Boot] 타임리프(Thymeleaf) 엔진 오늘은 Spring Boot에서 자주 사용하는 타임리프 템플릿 엔진에 대해서 알아보겠습니다. 템플릿 엔진이 무엇인지 알고 싶으시다면 여기를 클릭해주세요. 1. Spring MVC 템플릿 엔진 VS Spring Boot 템플릿 엔진 Java Object에서 데이터를 생성하여 Template에 넣어주면 템플릿 엔진에서 Template에 맞게 변환하여 html을 생성하고 클라이언트에게 제공합니다. Spring Template Engine Spring Boot Template 종류 JSP, Thymeleaf, Groovy, Freemarker, Jade4j, JMustache, Pebble, Handlebars, Velocity Mustache, Thymeleaf, Groovy, Freemarker 추천 Thy.. 2020. 3. 4.
[Spring Boot] 스프링부트 jenkins, docker, github사용하여 배포 이번 포스팅에서는 스프링부트와 docker, jenkins, github를 사용하여 AWS EC2서버에 jenkins에 빌드 버튼을 누르면 자동으로 도커 컨테이너로 서버가 올라오는 부분까지 진행해보도록하겠습니다. 참고로 빌드툴로 Maven을 사용하였습니다. 또한 Maven 파일에는 도커를 사용하기 위해 fabric8이라는 플러그인을 추가하였습니다. 스프링부트에서 도커파일을 작성하였고, 도커 build가 가능한 상태라고 가정하고 진행하겠습니다. org.springframework.boot spring-boot-maven-plugin io.fabric8 docker-maven-plugin 0.26.0 nuguya ${basedir} @ docker-build package build 1. 도커 설치 aws .. 2020. 3. 1.
[Spring Boot] 인텔리제이(intellij) lombok 설정 1. Lombok 이란? 롬복이란 자바에서 반복적으로 세팅하는 getter, setters나 equals, hashCode, toString, 생성자 관련 코드를 간단하게 만들어주는 라이브러리입니다. 프로젝트가 커질수록 class의 개수가 늘어나는데, 이때 코드의 길이를 줄여주는 Lombok은 코드의 가독성을 올려줍니다. 또한 필드를 추가할 때도 getters/setters를 신경쓰지 않아도 되는 장점이 있습니다. 2. Lombok Dependency 설정 [Maven] org.projectlombok lombok 1.18.4 provided [Gradle] provided group: 'org.projectlombok', name: 'lombok', version: '1.18.4' 3. Lombok P.. 2020. 2. 3.