Spring

[spring]builder 패턴,이미지 경로

하체는 스쿼트 2022. 10. 2. 18:08
builder 패턴

 

builder 패턴의 장점

 

  1. 필요한 데이터만 설정할 수 있음
  2. 유연성을 확보할 수 있음
  3. 가독성을 높일 수 있음
  4. 변경 가능성을 최소화할 수 있음

 

여기서 필요한 데이터만 설정할 수 있음을 바탕으로 자동으로 설정해 주는 기능으로

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}" />