Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

KingCjy/web-server-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

59 Commits

Repository files navigation

Java Web Server Framework

TODOS

  • (削除) BeanFactory (削除ここまで)
  • (削除) HandlerMethodArgumentResolver (削除ここまで)
  • (削除) AnnotationHandler (削除ここまで)
  • (削除) BeanDefinitionScannerProvider (削除ここまで)
  • (削除) Jpa Repository AutoConfiguration (削除ここまで)
  • (削除) Repository interface Proxy (削除ここまで)
  • (削除) Query Annotation (削除ここまで)

How To Use

Sample Code

Controller

framework-application/src/main/java/com.kingcjy.was.application.board.BoardController.java

@RestController
@RequestMapping("/api")
public class BoardController {
 @Autowired
 private BoardService boardService;
 @RequestMapping("/boards")
 public ResponseEntity<List<BoardDto.BoardResponseDto>> findAllBoards() {
 List<BoardDto.BoardResponseDto> dtoList = boardService.findAllBoards();
 return new ResponseEntity<>(dtoList, HttpStatus.OK);
 }
 @RequestMapping(value = "/boards/{id}", method = RequestMethod.GET)
 public ResponseEntity<?> findBoardById(@PathVariable(name = "id") Long id) {
 BoardDto.BoardResponseDto dto = boardService.findBoardById(id);
 return new ResponseEntity<>(dto, HttpStatus.OK);
 }
 @RequestMapping(value = "/boards", method = RequestMethod.POST)
 public ResponseEntity<?> addBoard(@RequestBody BoardDto.BoardRequestDto dto) {
 boardService.addBoard(dto);
 return new ResponseEntity<>(HttpStatus.OK);
 }
 @RequestMapping(value = "/boards/{id}", method = RequestMethod.PATCH)
 public ResponseEntity<?> updateBoardById(@PathVariable(name = "id", required = true) Long id,
 @RequestBody BoardDto.BoardRequestDto dto) {
 boardService.updateBoard(id, dto);
 return new ResponseEntity<>(HttpStatus.OK);
 }
 @RequestMapping(value = "/boards/{id}", method = RequestMethod.DELETE)
 public ResponseEntity<?> deleteBoardById(@PathVariable(name = "id") Long id) {
 boardService.deleteBoard(id);
 return new ResponseEntity<>(HttpStatus.OK);
 }
}
Service

framework-application/src/main/java/com.kingcjy.was.application.board.BoardService.java

@Service
public class BoardService {
 @Autowired
 private BoardRepository boardRepository;
 public List<BoardDto.BoardResponseDto> findAllBoards() {
 return boardRepository.findAll().stream().map(BoardDto.BoardResponseDto::new).collect(Collectors.toList());
 }
 public BoardDto.BoardResponseDto findBoardById(Long id) {
 Board board = boardRepository.findById(id);
 return new BoardDto.BoardResponseDto(board);
 }
 public void addBoard(BoardDto.BoardRequestDto dto) {
 Board board = Board.builder()
 .title(dto.getTitle())
 .contents(dto.getContents())
 .build();
 boardRepository.save(board);
 }
 public void updateBoard(Long id, BoardDto.BoardRequestDto dto) {
 Board board = boardRepository.findById(id);
 board.setTitle(dto.getTitle());
 board.setContents(dto.getContents());
 boardRepository.save(board);
 }
 public void deleteBoard(Long id) {
 boardRepository.deleteById(id);
 }
}
Entity

framework-application/src/main/java/com.kingcjy.was.application.board.Board.java

@Getter
@Entity
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class Board {
 @Id
 @GeneratedValue(strategy = GenerationType.IDENTITY)
 private Long id;
 private String title;
 private String contents;
 @CreationTimestamp
 private LocalDateTime createdDateTime;
 @UpdateTimestamp
 private LocalDateTime updatedDateTime;
 @Builder
 public Board(String title, String contents) {
 this.title = title;
 this.contents = contents;
 }
 public void setTitle(String title) {
 this.title = title;
 }
 public void setContents(String contents) {
 this.contents = contents;
 }
}
Repository

framework-application/src/main/java/com.kingcjy.was.application.board.BoardRepository.java

public interface BoardRepository extends JpaRepository<Board, Long> {
 @Query("SELECT b FROM Board AS b ORDER BY b.id DESC")
 List<Board> findAllBoardsOrderByIdDesc();
}
DTO

framework-application/src/main/java/com.kingcjy.was.application.board.BoardDto.java

public class BoardDto {
 @Getter
 @Setter
 public static class BoardResponseDto {
 private Long id;
 private String title;
 private String contents;
 private String createdDateTime;
 private String updatedDateTime;
 public BoardResponseDto(Board entity) {
 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 this.id = entity.getId();
 this.title = entity.getTitle();
 this.contents = entity.getContents();
 this.createdDateTime = entity.getCreatedDateTime().format(formatter);
 this.updatedDateTime = entity.getUpdatedDateTime().format(formatter);
 }
 }
 @Getter
 @Setter
 public static class BoardRequestDto {
 private String title;
 private String contents;
 }
}
Main Class

framework-application/src/main/java/com.kingcjy.was.application.Application.java

public class Application {
 public static void main(String[] args) {
 WasApplication.run(Application.class, args);
 }
}
Configuration Sample

framework-application/src/main/java/com.kingcjy.was.application.config.WebConfig.java

@Configuration
public class WebConfig {
 @Bean
 public ObjectMapper objectMapper() {
 return new ObjectMapper();
 }
}

About

Java Web Server Framework 개발

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /