본문 바로가기
728x90

BackEnd/Spring15

Spring AOP - Advice, Pointcut 이전 포스트에서는 AOP의 개념과 동작 원리에 대해 알아보았습니다. 2023.08.05 - [Spring] - Spring AOP Spring AOP 이번 포스트에서는 Spring의 3대 요소 중 하나인 Spring AOP에 대해서 알아보도록 하겠습니다. AOP(Aspect Oriented Programming) 일단 AOP가 뭔지 알아보기 전에 Asepect가 뭔지에 대해서 간단하게 알아보도록 하 rbsks.tistory.com 이번 포스트에서는 Spring AOP의 Advice와 Pointcut에 대해서 알아보도록 하겠습니다. Advice 어드바이스란 대상 메서드에 제공할 부가 기능 로직을 담은 모듈입니다. Advice의 종류 @Around 대상 메소드(조인 포인트) 호출 전후에 수행되며 예외 전환,.. 2023. 8. 6.
Spring AOP 이번 포스트에서는 Spring의 3대 요소 중 하나인 Spring AOP에 대해서 알아보도록 하겠습니다. AOP(Aspect Oriented Programming) 일단 AOP가 뭔지 알아보기 전에 Asepect가 뭔지에 대해서 간단하게 알아보도록 하겠습니다. Aspect란 애플리케이션의 핵심 기능을 담고 있지는 않지만, 애플리케이션을 구성하는 중요한 한 가지 요소이면서 핵심 기능에 부가되어 의미를 갖는 특별한 모듈을 가르킵니다. Aspect는 부가 기능을 정의한 코드인 어드바이스와 어드바이스를 어디에 적용할지 결정하는 포인트 컷을 함께 갖고 있으며, 이 둘을 합친 개념의 어드바이저는 단순한 형태의 Aspect라고 볼 수 있습니다. Aspect를 간단하게 알아보았으니 이제 AOP에 대해서 알아보도록 하겠.. 2023. 8. 5.
예외와 예외 처리 방법 예외란? 컴퓨터 프로그램에서 예외란, 프로그램이 실행 중에 발생한 예기치 않은 오류를 말합니다. 이러한 예외 상황을 처리하지 않으면 프로그램이 비정상적으로 종료될 수 있기 때문에 모든 예외는 적절하게 복구되든지 아니면 작업을 중단시키고 운영자 또는 개발자에게 통보하고 서비스를 이용하는 사용자에게 적절한 안내 메세지를 제공하는 등의 처리를 반드시 해줘야 합니다. 예외의 종류 이번 포스트에서는 Error에 대한 설명은 제외하겠습니다. Exception (Checked Exception) Exception 클래스와 이를 상속하고 Runtime Exception을 상속하지 않은 서브 클래스로 정의되는 예외입니다. 이 예외는 컴파일 시점에 예외 처리를 하는지 검사하기 때문에 개발자가 예외 처리를 강제하는 예외입니.. 2023. 4. 9.
스프링의 템플릿/콜백 패턴 이번 포스트에서는 스프링에서 자주 등장하는 템프릿/콜백 패턴에 대해서 알아보도록 하겠습니다. 템플릿/콜백 패턴을 설명하기 전에 확장에는 자유롭게 열려있고 변경에는 굳게 닫혀 있다는 객체지향 설계의 핵심 원리인 개방 폐쇄 원칙(OCP)을 다시 한번 생각해 봅시다. 이 원칙은 코드에서 어떤 부분은 변경을 통해 그 기능이 다양해지고 확장하려는 성질이 가지고, 어떤 부분은 고정이 되어있어 변하지 않으려는 성질을 가지고 있습니다. 변화의 특성이 다른 부분을 구분 해주고(변하는 것과 변하지 않는 것), 각각 다른 목적과 다른 이유에 의해 다른 시점에 독립적으로 변경될 수 있는 효율적인 구조를 만들어주는 것이 개방 폐쇄 원칙입니다. 템플릿/콜백 패턴은 이렇게 바뀌는 성질이 다른 코드 중 거의 변경이 일어나지 않으며 .. 2023. 4. 2.
Spring - 테스트와 TDD 테스트란? 개발자가 예상하고 의도했던 대로 코드가 정확히 동작하는지 확인해서 만든 코드를 확신할 수 있게 해주는 작업입니다. 테스트하고자 하는 대상이 명확하다면 그 대상에만 집중해서 테스트하는 것이 바람직합니다. 테스트하려는 범위가 클수록 테스트가 힘들어지고 오류가 발생했을 때 정확한 원인을 찾기가 힘들어지므로 가능하면 테스트의 관심이 다르다면 테스트할 대상을 분리(관심사의 분리) 하고 작은 단위로 쪼개서 테스트를 하는 것이 좋습니다. 이것을 단위 테스트라 합니다. 이전 포스트에서 테스트를 하기 위해 사용했던 main() 메소드를 보시면 테스트를 하기 위해서 프레젠테이션, 서비스 계층이 필요 없고 한 가지 관심에 집중해서 작은 단위로 테스트를 할 수 있기 때문에 단위 테스트를 적용했다 할 수 있습니다. .. 2023. 3. 26.
Spring - 오브젝트와 의존관계(스프링의 IoC와 DI) 2023.03.19 - [Spring] - Spring - 오브젝트와 의존관계(관심사의 분리) Spring - 오브젝트와 의존관계(관심사의 분리) Spring 이란? 스프링은 자라를 기반으로 한 기술입니다. 스프링의 철학은 자바 엔터프라이즈 기술의 혼란 속에서 잃어버렸던 객체지향 기술의 진정한 가치를 회복시키고, 그로부터 객체지향 프로 rbsks.tistory.com 2023.03.19 - [Spring] - Spring - 오브젝트와 의존관계(상속을 통한 확장과 인터페이스의 도입) Spring - 오브젝트와 의존관계(상속을 통한 확장과 인터페이스의 도입) 2023.03.19 - [Spring] - Spring - 오브젝트와 의존관계(관심사의 분리) Spring - 오브젝트와 의존관계(관심사의 분리) S.. 2023. 3. 21.
728x90