Spring Boot 🍃
-
Spring boot : @SessionAttributesSpring Boot 🍃 2023. 12. 11. 00:01
보고 배운 곳 : https://sun-22.tistory.com/53 @SessionAttribute != @SessionAttributes 이 둘은 다른 동작을 하는 메서드이다. @SessionAttribute 는 컨트롤러 밖에서 생성된 세션 값에 접근 @SessionAttributes 는 컨트롤러에서 다루는 객체를 세션에 넣어 공유 이번 글에서는 @SessionAttributes 를 사용하는 것에 대해서만 학습. 학습하게 된 이유는 중복 저장 방지를 위해서다. 학습 후 느낀 점을 먼저 얘기해본다면, 이러한 방식은 아주 가벼운, 중요하지 않은 데이터를 다룰 때 적용 해보면 좋을 것 같다는 생각이 들었다. 중복 저장 테스트를 위한 처리 우선 테스트를 위해 Entity에 설정해둔 unique 옵션을 해제..
-
Spring boot : data.sqlSpring Boot 🍃 2023. 12. 11. 00:01
참고한 블로그 application.yml 설정 spring: jpa: defer-datasource-initialization: true sql: init: mode: always spring.jpa.defer-datasource-initialization sql 파일 실행을 jpa hibernate 작업 완료 후에 할 지 여부 설정 spring.sql.init.mode sql 파일을 읽을지 여부 설정. in-memory database 가 아닌 데이터베이스를 사용하게 될 경우 , true 로 해주어야 sql 파일 자동 실행 가능
-
Spring boot & thymeleaf : context path 변경Spring Boot 🍃 2023. 12. 10. 00:02
참고한 블로그 spring boot context path 설정하기 application.yml 기준 server: servlet: context-path: /mission Thymeleaf 변경될 여지가 있는 context path 적용하기 url 을 입력할 때 @{} 기호를 사용하면 된다. 적용 전 로그아웃 a태그 클릭시 url -> localhost:8080/ 적용 후 로그아웃 a태그 클릭시 url -> localhost:8080/mission/
-
Spring Boot: RetrySpring Boot 🍃 2023. 12. 9. 00:01
보고 배운 블로그: wonyong-jang.github API 서비스의 재처리에 대한 고민 API 사용시 시스템 안정성을 높이기 위해 재처리를 어떻게 처리할까에 대한 고민을 해야한다. 재처리를 할 때는 보통 다음 사항들에 대해 고려해보게 된다. 재시도를 몇 번 실행할 것인가? 재시도 하기 전에 지연 시간을 얼마나 줄 것인가? 재시도를 모두 실패했을 경우 어떻게 처리할 것인가? Spring Retry 를 사용하는 방법으로는 Annotation을 사용하는 방법과 RetryTemplate을 사용하는 방법이 있다. 자세히 알려주는 블로그: wonyong-jang.github Retry 실습 어노테이션을 사용하는 방법에 대해서만 실습 ! 의존성 추가 // Spring Retry implementation 'org..
-
Spring Boot: TestContainers 🍃🐳🧑🔧Spring Boot 🍃 2023. 12. 9. 00:01
보고 배운 인강 CRUD 테스트 코드를 작성할 때 어떤 DB 환경이 좋을지에 대한 고민 다양한 선택지들 운영환경과 유사한 스펙의 DB ( 개발 환경 DB ) 사용 👉 버전 이슈, 초기 설정 등등 초기 세팅이 복잡하다는 단점이 있다. 인메모리 DB (ex. h2) 사용 👉 운영환경과 다르기 때문에 통합테스트 환경에선 docker 또는 TestContainers 를 사용하게 된다. Docker 사용 👉 container 관리를 별도로 해주어야하기 때문에 관리포인트가 늘어나는 단점이 있고, docker를 실행하기 위해 docker-compose 와 같은 스크립트를 별도로 작성해주어야하는 단점이 있다. TestContainers 이용 👉 TestContainers 는 운영 환경과 유사한 DB 스펙으로 독립적인 ..
-
Spring Boot: profile 환경 나누기Spring Boot 🍃 2023. 12. 9. 00:01
보고 배운 인강 정리 잘 되어있는 블로그 어플리케이션 설정을 local , develop , production 환경 등으로 구분할 때 사용한다. application.yml 또는 application.properties 파일에서 내용을 작성해주면 된다. 이번 글에서는 profile을 common , local , prod 의 3가지로 구분하여 작성하고자 한다. common : 모든 환경에서 공통으로 적용 local : 테스트 환경에서 적용 prod : 운영 환경에서 적용 실습에 사용한 파일 : application.yml yml 파일에서 --- 문자열을 사용하면 문자열 위에 작성된 내용과 아래에 작성된 내용이 별도의 파일에서 작성된 것 처럼 해석된다. # 실행 할 환경 정보 작성 spring: prof..
-
-