본문 바로가기

Spring-boot25

sealed Interface 와 record Class sealed 인터페이스와 record 클래스는 java16 부터 도입된 데이터 클래스와 관련된 개념이다. Sealed 인터페이스 sealed 인터페이스는 인터페이스의 확장을 특정한 하위 클래스들로 제한하는 데 사용 이를 통해 모든 구현 클래스가 미리 정의된 제한된 집합게 속하게 됨 일반적으로 패턴 매칭과 함께 사용되어 특정 클래스 유형에 대한 처리를 놓치지 않도록 도와줌 하위 클래스는 같은 파일에 있거나 동일한 모듈에 속해야 함 public sealed interface Shape permits Circle, Square { // 인터페이스의 내용 } public final class Circle implements Shape { // Circle에 대한 구현 } public final class Squ.. 2024. 3. 4.
Spring-boot 파일 첨부 save.html writer: pass: title: contents: file: 이제 dto의 필드를 넣어주자 boardDTO private MultipartFile boardFile; // save.html -> Controller 파일을 담는 용도 private String originalFileName; // 원본 파일 이름 private String storedFileName; // 서버 저장용 파일 이름 private int fileAttached; // 파일 첨부 여부(첨부1, 미첨부0) 이제 파일첨부 여부를 수정을 해보자 boardservice public void save(BoardDTO boardDTO) { if(boardDTO.getBoardFile().isEmpty()) { Boa.. 2024. 2. 26.
Spring-boot 페이징 처리 우선 페이징 목록 버튼을 만들어준다 index.html 글 작성 글 작성 링크 글목록 페이징 목록 boardcontroller @GetMapping("/paging") public String paging(@PageableDefault(page = 1)Pageable pageable, Model model) { //pageable.getPageNumber(); Page boardList = boardService.paging(pageable); } 우선 작성해주며 paging이라는 메서드를 service에 작업해준다 boardservice public Page paging(Pageable pageable) { int page = pageable.getPageNumber() - 1; int pageLimi.. 2024. 2. 24.
Spring-boot 글 삭제하기 boardcontroller @GetMapping("/delete/{id") public String delete(@PathVariable(name = "id") Long id) { boardService.delete(id); return "redirect:/board/"; } boardservice public void delete(Long id) { boardRepository.deleteById(id); } 삭제 완료 ! 2024. 2. 24.