Spring
[spring]builder 패턴,이미지 경로
하체는 스쿼트
2022. 10. 2. 18:08
builder 패턴
builder 패턴의 장점
- 필요한 데이터만 설정할 수 있음
- 유연성을 확보할 수 있음
- 가독성을 높일 수 있음
- 변경 가능성을 최소화할 수 있음
여기서 필요한 데이터만 설정할 수 있음을 바탕으로 자동으로 설정해 주는 기능으로
PK값은 제외한채 생성자를 만들어 줄 수 있다.
BoaImg boaImg = BoaImg.builder()
.orgName(orgName)
.saveName(saveName)
.savePath(savePath)
.board(board).build();
자동 설정되는 PK값은 언제 생성되는가?
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
위의 코딩에서 자동으로 생성되는 PK값 ID는 아래와 같이 persist 영속성 관리에 등록될때 생성된다.
@@@@@repository.save(####);
save를 하는 순간 id 값이 자동으로 생성되면서 영속성 관리에 들어가는 것이다.
트랜잭션이 끝나면 모든 값들이 커밋된다.
image 경로
클라이언트에서 접근 가능한 영역은
stataic: 클라이언트가 접근 가능한 영역
templates : 클라이언트가 접근 불가능한 영역
이미지 저장 할때는 static 영역에 저장해야 한다.
templats의 동적인 영역역느 서버 에서 랜더링 한 후에 static영역으로 보내주는것이다.
기본 상대 경로 localhost:8090은 static영역까지 찍히는것이다.
템플릿에 접근을 못하므로 무조건 이미지는 절대경로로 서버에 이미지가 저장된곳으로 찍어야 한다.
<img id="imgId" th:src="'/images/'+${boaimg.saveName}" alt="첨부이미지" th:if="${boaimg != null}" />