SPRING

SPRING

Secrets Manager + SpringBoot

application.properties or application.yaml 파일과 같은 config 파일에 API 키 값 또는 DB 정보등과 같은 민감한 정보를 저장 하기도 하지만, 위와 같은 설정은 Git과 같은 저장소에 올리기에 보안적으로 부담이 되는 부분 이 있다. 따라서, 이번 사이드 프로젝트에서는 민감한 정보들은 AWS의 Secrets Manager에서 관리하여, 가져다 쓰는 방법을 채택하였다. 먼저, 아래 포스팅 내용으로 AWS Secrets Manager 보안 암호 키 등록은 완료 되었다고 전제한다. [AWS] Secrets Manager SpringBoot에서 AWS Secrets Manager에 접근 할 수 있는 'SecretsManagerReadWrite' 권한을 가진 User의 Ac..

SPRING

profile별 환경 분리 (application 분리)

local, dev, prod 환경에 맞게 build 되어서 배포되어져야 하는 경우가 있다. 그렇지 않으면, 매번 파일을 application.properties or application.yaml(yml)에 덮어써서 빌드/배포 해야하는 번거로움이 생긴다. 이번에 사이드 프로젝트하면서 직접 설정한 방법에 대해서 공유한다. Springboot에서는 따로 config 읽는 classpath에 대해 따로 설정하지 않는다면, 위와 같이 자동으로 읽게 된다. (classpath root or classpath /config/) custom하기에는 다른 개발자들이 다른 사이트에서 가져와서 새로운 config를 넣거나 적용시에, 다시 한번 더 확인 해야할 부분들이 생길 까봐. 기존 automatically find되..

SPRING

Custom Annotation 기반으로 Session 정보 가져오기

@GetMapping("/") public String index(Model model, HttpSession httpSession) { SessionUser user = (SessionUser) httpSession.getAttribute("user"); if(user != null) { model.addAttribute("loginUserName", user.getName()); } return "index"; } SessionUser user = (SessionUser) httpSession.getAttribute("user"); 에 대한 부분을 메소드 인자로 세션값을 바로 받을 수 있도록 변경 LoginUser package com.dolzi.config.auth; import java.lang...

SPRING

Spring 웹 계층

Web Layer 흔히 사용하는 컨트롤러(@Controller)와 JSP/Freemarker 등의 뷰 템플릿 영역 이 외에도 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@ControllerAdvice) 등 외부 요청과 응답에 대한 전반적인 영역 Service Layer @Service에 사용되는 서비스 영역 일반적으로 Controller와 Dao의 중간 영역 Transactional이 사용되어야 하는 영역 Repository Layer Database와 같이 데이터 저장소에 접근하는 영역 Dao영역 Dtos Dto(Data Transfer Object)는 계층 간에 데이터 교환을 위한 객체 eg. 뷰 템플릿 엔진에서 사용될 객체 Repository Layer에서 결과로 넘겨준 객체 Domain..

dolzi
'SPRING' 카테고리의 글 목록