분류 전체보기32 Spring 심화 개인 과제 트러블 슈팅 이번 심화 주차 개인과제는- (필수) 숙련 과제 필수사항 보완 및 기능 개선- (도전) Spring Advanced Repository 의 코드 리팩토링 및 코드 포맷팅, N+1 문제, 테스트 코드 적용으로 요구사항이 구성되어 있으며, 이전에 했던 과제처럼 서비스 로직을 구현하는 것이 아닌 주어진 기존 코드를 심층적으로 분석하고 이를 개선하는 데 중점을 두며, 코드의 품질을 높이는 작업에 초점을 맞추는 과제이다.여기서, Lv 5-3 [인터셉터, AOP를 활용한 API 로깅] 부분은 이해도가 부족하여 더 공부하고 문제를 해결해야 할 것 같다💦💦Lv2. [예외 처리 강화] 요구 사항의 키워드 중에서, GlobalExceptionHandler를 활용한 API 예외처리를 구현하고자 하였다. GlobalEx.. 2025. 1. 6. Spring 일정 관리 앱 Develop 트러블 슈팅 이번 과제는 저번 주에 JDBC로 구현했던 일정관리 앱을 JSP로 구현하고, 로그인 필터, 암호화 등의 요구사항이 추가되었다.튜터님께서 기술이 불편하면 새로운 기술이 나타난다고 하신 말씀이 생각난다.실제로 JDBC을 이용하다가 JPA를 이용해보니 코드가 훨씬 간결해지고 편하게 짤 수 있었다.하지만 지금도 계속 새로운 기술이 개발되고 있겠지.. 과제하면서 제일 구현하기 어려웠던 요구사항은 4. 로그인(인증) 이다. 지금은 어느정도 이해가 되긴하지만 chain 이용에 대해서는 아직.. 더 공부해야할 것 같다.API 명세기능MethodURLrequestresponse상태코드설명일정 생성POST/todos[JSON]∙title∙contentsTodoResponseDto200 CREATED작성일, 수정일👉🏻.. 2024. 12. 19. 29일차) 생성자 주입불변(immutable)과 실수 방지를 위함-> 순수 Java 코드로 사용할 때 (ex. 테스트 코드) 생성자의 필드를 필수로 입력하도록 만들어준다. (NPE 방지)-> 컴파일 시점에 오류를 발생시킨다. 즉, 실행 전에 오류를 알 수 있다.// 생성자 주입 방식@Componentpublic class MyApp { // 필드에 final 키워드 필수! 무조건 값이 있도록 만들어준다.(필수) private final MyService myService; // 생성자를 통해 의존성 주입, 생략 가능 @Autowired public MyApp(MyService myService) { this.myService = myService; } public void.. 2024. 12. 13. 28일차) 스프링 컨테이너, 빈, 싱글톤 스프링 숙련 2주차를 듣기 전, 1주차에서 나온 개념들에 대해 간단히 정리해보았다. Spring Container 스프링 컨테이너객체(Bean)를 생성, 관리, 소멸하는 역할을 담당한다. 애플리케이션 시작 시, 설정 파일이나 Annotation을 읽어 Bean을 생성하고 주입하는 모든 과정을 제어한다.객체를 직접 생성하는 경우에는 객체 간의 의존성 및 결합도가 높아지는 반면에, Spring Container를 사용하면 인터페이스에만 의존하는 설계가 가능해진다. (OCP, DIP 준수)종류BeanFactory : Spring Container의 최상위 인터페이스ApplicationContext: BeanFactory의 확장된 형태Spring Bean 스프링 빈Spring Container가 생성하고 관리하.. 2024. 12. 11. 이전 1 2 3 4 ··· 8 다음