Cute Running Puppy
본문 바로가기
728x90

개발일기/Java38

Spring MVC에서의 예외 처리 기법 예외 처리 방법 @ExceptionHandler 컨트롤러 내에서 특정 예외를 처리하기 위해 사용한다. 이 어노테이션을 메서드에 적용하여 해당 예외가 발생했을 때 특정한 응답을 반환하거나 예외를 처리할 수 있다. @ControllerAdvice 전역적인 예외 처리를 정의할 수 있다. 이 어노테이션이 적용된 클래스는 모든 컨트롤러에서 발생하는 예외를 처리하는 메서드를 가질 수 있다. @ControllerAdvice + ExceptionHandler 특정 예외에 대한 전역적인 처리와 특정 컨트롤러에서 발생하는 예외에 대한 처리를 동시에 수행할 수 있다. 일부 에러만 처리하고 싶을 경우에는 따로 범위설정이 가능하다. @ResponseStatus 특정 예외가 발생했을 때 반환되는 HTTP 응답 상태 코드를 지정할.. 2023. 5. 31.
의존성 주입(Dependency Injection, DI) Dependency(의존성)란? “A가 B를 의존한다.” 의존대상 B가 변하면, 그것이 A에 영향을 미친다. 즉, B의 기능이 추가 또는 변경되거나 형식이 바뀌면 그 영향이 A에 미친다. 의존성 주입은 의존 관계를 객체의 외부에서 결정하고, 필요한 객체를 주입하여 사용하는 방법이다. DI(의존성 주입) 세 가지 방식 생성자 주입(Constructor Injection) 객체를 생성할 때 의존하는 객체를 생성자의 매개변수로 전달하여 주입한다. 설정 주입(Setter Injection) 의존하는 객체를 설정 메서드(setter)를 통해 주입한다. 인터페이스 주입(Interface Injection) 의존하는 객체를 특정 인터페이스를 구현한 객체로 주입한다. DI(의존성 주입)의 장점 느슨한 결합(Loose .. 2023. 5. 31.
객체지향 프로그래밍(OOP) 객체지향 프로그래밍(OOP)이란? 프로그래밍에서 필요한 데이터를 추상화하여 객체라는 단위로 표현하고, 객체들 간의 상호작용을 중심으로 프로그램을 구성하는 개발 방법이다. 객체 지향 프로그래밍의 장점은 코드의 재사용을 통해 반복적인 코드를 최소화하고, 코드를 최대한 간결하게 표현할 수 있어 코드의 변경을 최소화하고 유지보수를 하는 데 유리하다. 객체지향 프로그래밍의 4가지 특징 추상화(Abstration) 객체의 공통적인 속성과 기능을 추출하여 정의하는것을 의미한다. 캡슐화 (Encapsulation) 객체의 상태(data)와 행위(method)를 하나로 묶고, 외부에는 내부 구현을 감추는 것을 의미한다. 캡슐화는 접근 제어자를 통한 접근에 제한을 두며, 객체의 내부 동작 방식을 숨기고 외부에서 사용하기 .. 2023. 5. 30.
테스트 코드 작성 삽질 기록 ✏️ 문제 테스트 코드를 작성하다보니 되던것도 안 되는것?!?! 왜 ㅜ0ㅜ ✏️ 원인 기댓값이 0인것을 보니 초기화가 안 먹는것 같다. 직관적으로 보고싶어 setup을 나눈것이 문제인것 같다... 흑흑 ✏️ 해결 방법 setup을 묶어서 해결하였음 또 순서대로 나올것 같았는데 뒤죽박죽 섞여 나오는것이 불편했는데 알고모니 메서드명 순으로 출력 메서드명을 수정하였다 JUnit5에는 @Order 기능으로 sort가 가능하다고 하는데 @TestMethodOrder(OrderAnnotation.class) public class JUnitTest { @Test @Order(1) public void TestA() throws Exception { } @Test @Order(2) public void TestB().. 2023. 4. 21.
728x90