본문 바로가기

자바의 봄(Spring)/프로젝트25

공부하면서 만들어가는 REST-API 프로젝트 - 2 1. 서비스 계층 만들기 - StudentService 클래스 생성 - create 메소드로 학생 객체 생성 및 Repository에 저장하도록 한다. -> 생성자 주입으로 의존성을 주입시켰다. 의존성 주입에는 이렇게 3개 존재한다. 1. 필드 주입 2. 생성자 주입 3. Setter 주입 각각의 장단점이 있으며 필드 주입이 가장 간단하지만 생성자 주입을 웬만하면 권장한다. 2. 서비스 계층 테스트하기 (create 메소드) 및 전체 학생 조회하기 - create 메소드 테스트하기 (service 계층) - get 메소드 작성하기 ( 전체 학생 조회 ) 해당 코드로 테스트를 돌렸을때 아래와 같은 에러가 나온다 because "this.studentService" is null 이것은 studentServ.. 2024. 3. 9.
공부하면서 만들어가는 REST-API 프로젝트 REST-API 로 간단한 프로젝트를 만들어보려고 한다. CRUD의 기능을 넣고 postman으로 테스트를 하면서 진행할 예정이다. 1. 프로젝트를 세팅하고 엔티티를 작성한다. 엔티티는 Id 와 name 두 개를 갖고 있다. @lombok을 사용해서 밑에 코드를 없애줘도 되지만 그런 것 없이 진행한다. 2. Controller를 작성한다. 컨트롤러에 @RestController 어노테이션을 붙여준다. @RestController는 @Controller어노테이션에 @ResponseBody가 붙은 것으로 주로 REST 통신을 하기 위해서 사용된다. @Controller는 View를 반환하는 반면 @RestController는 ResponseEntity라는 HttpStatus 코드를 추가하여 데이터를 반환한다.. 2024. 3. 7.
Thymeleaf로 새 게시글에 NEW 표시하기 게시글의 시간과 dates.createToday()의 시간을 비교하여 NEW를 붙이게 된다. @CreationTimestamp private Date creationTime; 2022. 12. 21.
SpringBoot 부하 테스트 후기 1. 1만명의 사람이 60초동안 86400번 Get 요청을 날리는 방식을 진행했다. ## 이제 부하 테스트를 시작한다 . 테스트 시작! 처음에는 계속 정상 응답이 오길래 계속 괜찮을 줄 알았다. 하지만 시간이 지나면서 점점 빨간색 응답이 생기기 시작한다. 그러다가 이제는 빨간색이 대부분을 차지하게 된다. 종국에는 빨간색 밖에 나오지 않는다 , 그렇다면 서버는 어떻게 되어있을까? 서버가 다운되었다는 메시지가 보인다. 결국에는 트래픽을 감당하지 못하고 뻗어버린 것이다. 그렇다면 이런 부분은 어떻게 해결해야 될까? 트래픽이 몰릴 경우 첫번째로 생각해볼 수 있는 내용은 바로 로드 밸런싱이다 . 서비스 앞단에 로드 밸런서를 통해 들어오는 트래픽을 라운드 로빈 방식으로 순서대로 ec2에 분배하는 것이다. 두번째로는.. 2022. 7. 23.