スプリングスタート(Spring Boot)掲示板
ばね起動掲示板
今日掲示板を整理するとき.
機能フローから使用方法まで、
一つ一つ丁寧に掘るつもりです.
復習の感覚で最初から行う
結構時間がかかりますが、丁寧に書いておきます・・・
Save(文章を書く)
controller
上記のコードを読み込むと、saveFormはsaveアドレスに送信されます.
ではsaveには、作成した値をサービスに返す役割があります.
ModelAttribute,BoardSaveDTOクラスのBoardSaveDTOを使用
使用するオブジェクトを作成し、HTTPの値に自動的にバインドします.
すなわち,Longと宣言されたBoard Id内bsである.(Board SaveDTO)の値を保存し、自動ジャンプの値(作成者、タイトル、パスワードなど)を変数にバインドします.
service
BoardEntityというクラスのBoardEntityオブジェクトを作成します.
BoardEntity.インストールtoSaveEntity(Board SaveDTO)
アーカイブに送り返す. BoardSaveDTO 記事詳細照会 controller
モデルタイプのオブジェクトを宣言し、パラメータとして受け入れます.
戻り値は当然findAll~~~
ServiceImpl
br.findAll(); リストとして発表されたBoard Entity Listに!
リストと宣言したBoardリストに価格を書いてから返事すべき...
全部印刷するので、値を全部印刷します...
各ドアを使用
Boardリストに入れて返信したら~~終了
もちろん、DTOでtoBoardDetailDTOを宣言しなければ値を取得できません.
BoardDetailDTO
今日掲示板を整理するとき.
機能フローから使用方法まで、
一つ一つ丁寧に掘るつもりです.
復習の感覚で最初から行う
結構時間がかかりますが、丁寧に書いておきます・・・
Save(文章を書く)
controller
// 세이브 주소로 요청하는 매서드
@Getmapping("save")
public String saveForm(){
return "board/save";
}
// 세이브(글쓰기) 를 진행하는 메서드
@Postmapping("save")
public String save(@ModelAttribute BoardSaveDTO boardSaveDTO){
Long boardId = bs.save(boardSaveDTO);
return "redirect:/board/";
}
ModelAttributeは、オブジェクトを自動的に作成するツールです.上記のコードを読み込むと、saveFormはsaveアドレスに送信されます.
ではsaveには、作成した値をサービスに返す役割があります.
ModelAttribute,BoardSaveDTOクラスのBoardSaveDTOを使用
使用するオブジェクトを作成し、HTTPの値に自動的にバインドします.
すなわち,Longと宣言されたBoard Id内bsである.(Board SaveDTO)の値を保存し、自動ジャンプの値(作成者、タイトル、パスワードなど)を変数にバインドします.
service
@Override
public Long save(BoardSaveDTO boardSaveDTO) {
BoardEntity boardEntity = BoardEntity.toSaveEntity(boardSaveDTO);
return br.save(boardEntity).getId();
}
このメソッドは、DTO値をリポジトリに転送する前に、DTO値の一部を変更する必要があります.BoardEntityというクラスのBoardEntityオブジェクトを作成します.
BoardEntity.インストールtoSaveEntity(Board SaveDTO)
アーカイブに送り返す.
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BoardSaveDTO {
private String boardWriter;
private String boardPassword;
private String boardTitle;
private String boardContents;
private LocalDateTime boardDate;
}
BoardSaveDTO - 글 작성 시 필요한 값들을 필드로 선언한다..
@GetMapping("/")
public String findAll(Model model){
List<BoardDetailDTO> boardList = bs.findAll();
model.addAttribute("boardList",boardList);
return "board/findAll";
}
値全体を出力する必要があるため、情報を取得します(Get)モデルタイプのオブジェクトを宣言し、パラメータとして受け入れます.
List<BoardDetailDTO>
boardList=bsを使用します.findAll(); Board Listに値を含め、addAttributeを使用してモデルに値を含めます.戻り値は当然findAll~~~
ServiceImpl
@Override
public List<BoardDetailDTO> findAll() {
List<BoardEntity> boardEntityList = br.findAll();
List<BoardDetailDTO> boardList = new ArrayList<>();
for (BoardEntity boardEntity : boardEntityList){
boardList.add(BoardDetailDTO.toBoardDetailDTO(boardEntity));
}
return boardList;
}
List<BoardDetailDTO>
これは持ってきたものだから.br.findAll(); リストとして発表されたBoard Entity Listに!
リストと宣言したBoardリストに価格を書いてから返事すべき...
全部印刷するので、値を全部印刷します...
各ドアを使用
for (BoardEntity boardEntity : boardEntityList){
boardList.add(BoardDetailDTO.toBoardDetailDTO(boardEntity));
}
BoardDetailDTOの値をBoard Entityとし、Boardリストに入れて返信したら~~終了
もちろん、DTOでtoBoardDetailDTOを宣言しなければ値を取得できません.
BoardDetailDTO
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BoardDetailDTO {
private Long boardId;
private String boardWriter;
private String boardPassword;
private String boardTitle;
private String boardContents;
private LocalDateTime boardTime;
public static BoardDetailDTO toBoardDetailDTO(BoardEntity boardEntity){
BoardDetailDTO boardDetailDTO = new BoardDetailDTO();
boardDetailDTO.setBoardId(boardEntity.getId());
boardDetailDTO.setBoardWriter(boardEntity.getBoardWriter());
boardDetailDTO.setBoardPassword(boardEntity.getBoardPassword());
boardDetailDTO.setBoardTitle(boardEntity.getBoardTitle());
boardDetailDTO.setBoardContents(boardEntity.getBoardContents());));
if(boardEntity.getUpdateTime()==null){
boardDetailDTO.setBoardTime(boardEntity.getCreateTime());
}else {
boardDetailDTO.setBoardTime(boardEntity.getUpdateTime());
}
}
}
長いですが…どうせお金を全部入れるから、必死に使うんだから・・・Reference
この問題について(スプリングスタート(Spring Boot)掲示板), 我々は、より多くの情報をここで見つけました https://velog.io/@sw6464/스프링-부트Spring-Boot-게시판テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol