spring
-
[Spring] AOP 사용하기Software Development/Java 2020. 12. 20. 20:16
스프링 프레임워크를 이야기할 때 빠지지 않고 등장하는 단어 중 하나가 AOP입니다. AOP는 IoC 그리고 DI와 함께 스프링 프레임워크에서 중요한 내용입니다. AOP는 Aspect Oriented Programming의 약자로 관점지향 프로그래밍이라고 합니다. AOP란? 스프링의 여러 가지 장점 및 특징을 이야기할 때 빠지지 않고 등장하는 것이 바로 AOP입니다. AOP를 OOP를 대체하는 개념으로 오해하기도 합니다. AOP는 OOP를 더욱 OOP답게 사용하도록 도와 주는 개념으로 AOP를 이해하기 위해서는 우선 OOP의 이해가 필요합니다. 따라서 OOP에 대해서 먼저 이야기 하겠습니다. 객체지향이란 관심사가 같은 기능과 데이터를 모아서 재사용이 가능한 객체로 캡슐화하는 것을 의미합니다. 객체지향 개념..
-
[Spring] 인터셉터 사용하기Software Development/Java 2020. 12. 20. 02:06
스프링의 인터셉터는 어떠한 URI를 호출했을 때 해당 요청의 컨트롤러가 처리되기 전 또는 후에 작업을 하기 위해서 사용됩니다. 이러한 역할은 필터와 인터셉터로 수행할 수 있습니다. 기능적인 면에서는 필터와 인터셉터가 상당히 비슷해 보입니다. 필터로 할 수 있는 일을 인터셉터로 할 수 있고 반대로 인터셉터로 할 수 있는 일을 필터로도 할 수 있습니다. 그렇다면 이 둘의 차이는 무엇일까요? 다음 그림은 스프링 MVC 요청의 라이프사이클을 보여줍니다. 필터와 인터셉터의 차이점은 다음과 같습니다. * 필터는 디스패처 서블릿 앞 단에서 동작하지만 인터셉터는 디스패처 서블릿에서 컨트롤러로 가기 전에 동작합니다. * 필터는 J2EE 표준 스펙에 있는 서블릿의 기능 중 일부이지만 인터셉터는 스프링 프레임워크에서 제공되..
-
[Spring] Logback 알아보기Software Development/Java 2020. 12. 19. 20:06
프로그램은 다양한 로그를 남기게 됩니다. 이런 로그는 시스템의 로그 파일에 남기 때문에 사용자가 직접 볼 수는 없습니다. 그렇지만 이러한 시스템의 로그는 프로그램의 개발 및 유지보수, 에러확인 등 애플리케이션 전반에 걸쳐 사용됩니다. 스프링 부트도 다양한 로그 프레임워크를 쉽게 적용할 수 있도록 지원합니다. Logback이란? 몇 년 전까지 자바 프로젝트에서 가장 많이 사용되는 로그 라이브러리는 Log4j였습니다. 지금은 개발이 종료됐지만 Log4j는 자바의 예외를 처리하기 위해 시작된 프로젝트입니다. Log4j 개발자들이 Log4j를 토대로 Logback을 만들게 되었습니다. Logback은 다음과 같은 장점을 가지고 있습니다. * 오랫동안 널리 사용되고 검증된 Log4j를 기반으로 다시 작성되었습니다..
-
[Spring] 스프링 프레임워크 이해하기Software Development/Java 2020. 12. 15. 20:17
스프링 프레임워크 및 MVC 패턴에 대해서 간단히 알아보겠습니다. 스프링 프레임워크란? 웹 애플리케이션 개발을 위한 다양한 프레임워크가 존재하지만 가장 많이 사용되고 있는 프레임워크를 하나 꼽자면 스프링 MVC 프레임워크를 들 수 있습니다. 스프링 프레임워크는 일반적인 사용자를 위한 웹 애플리케이션부터 기업 환경의 애플리케이션까지 다양한 범위에서 사용되는 프레임워크입니다. 또한 우리나라에서는 전자 정부 표준 프레임워크로 채택되면서 자바 개발자들이 알아야 할 사실상 표준이 되었습니다. 프로젝트 이름 설명 스프링 프레임워크 현대 자바 기반의 애플리케이션을 개발하는 데 기반이 되는 프레임워크. 스프링의 핵심은 애플리케이션의 기반을 제공함으로써 개발자들은 애플리케이션의 비즈니스 로직 개발에만 집중할 수 있게 하..
-
[Spring] 스프링 부트Software Development/Java 2020. 12. 15. 15:42
스프링 프레임워크가 웹 애플리케이션에서 사용되는 많은 기능을 제공하는 것은 사실이지만, 이를 제대로 사용하기 위해서는 여러 가지 작업이 필요했습니다. 라이브러리 추가 및 의존성 관리 그리고 스프링 프레임워크가 처리할 작업을 알려 주고 이를 위한 여러 가지 구성 및 설정 파일을 작성하는 것은 모두 개발자가 해야 할 작업이었습니다. 이러한 이유로 스프링 프로젝트를 생성하는 것은 상당히 어려웠고, 해야할 일도 많았습니다. 프로젝트의 비즈니스 로직을 고민해야 할 시간에 개발환경 구성 및 스프링의 기능 구성에 시간을 쏟게 되는 것입니다. 이러한 문제점을 해결하기 위한 것이 스프링 부트입니다. 스프링 부에는 다음과 같은 주요 장점이 있습니다. * 프로젝트에 따라 자주 사용되는 라이브러리들이 미리 조합되어 있습니다...
-
[Spring] 그레이들[Gradle]Software Development/Java 2020. 12. 14. 19:18
최신 버전의 STS에는 기본적으로 메이븐이 내장되어 있습니다. 그렇지만 메이븐이 아닌 그레이들을 사용하는 이유는 다음과 같습니다. 메이븐은 XML을 기반으로 의존성 및 디렉토리 구조 관리 등의 기능을 제공하며 한동안 많이 사용되었습니다. 그렇지만 라이브러리가 추가거나 각가의 라이브러리가 서로 다른 버전의 라이브러리를 참조하는 종속성을 가지고 있을 경우에는 관리가 어려워지는 문제가 있습니다. 또한 XML의 특징인 구조화는 사람잉 알아보기에는 쉽지만 XML 문서의 양이 방대해지는 단점이 있습니다. 이에 대한 대안으로 그레이들이 각광받고 있습니다. 그레이들은 JVM 기반의 빌드 도구이며 메이븐 등과 호환됩니다. 그 외에도 설정이 간편하고, 프로젝트별로 유연하게 설정할 수 있는 등 여러 가지 장점이 있습니다. ..