스프링은 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다.
스프링 프로젝트를 하기 위해서는 자바 개발 도구(JDK), 빌드도구(Maven이나 Gradle), 자바 통합 개발 환경(IDE)가 필요하다. 이번 포스트에서는 스프링 프로젝트 개발을 위한 환경을 만들어 볼 것이다.
스프링으로 간단한 환영 메시지를 출력하는 프로그램을 만들어보자. 이 과정에서 프로그램에 필요한 파일 구성과 스프링 설정과 빈(Baen) 객체에 대한 이해를 목표로 진행해보겠다.
스프링은 의존 주입(Dependency Injection)을 지원한다. 이는 스프링이 가진 가장 큰 특징 중 하나다. 그렇다면 의존 주입이란 무엇일까? 의존 주입에 대한 정확한 개념과 의존 주입을 사용하는 이유에 대해서 알아보자.
지금까지 배운 것들을 이용해 회원 가입 및 암호 변경 기능을 가진 프로그램을 구현할 것이다. 1. 메이븐 프로젝트 생성 및 이클립스 임포트하기 2. 회원 데이터 관련 클래스 작성하기 3. 회원 가입 처리 관련 클래스 작성하기 4. 암호 변경 관련 클래스 작성하기
이어서 회원 가입 프로젝트를 진행한다. 지난 포스트에서 예고했듯 이번 포스트에서는 객체 조립기와 이를 이용하는 메인 메서드를 다룰 것이다.
지난 2편에서는 Assembler와 이를 사용하는 Main 클래스를 작성해봤다. 이번에는 객체 조립에 Assembler 대신 스프링을 사용하도록 하겠다.
프로그램의 버전 정보를 출력하는 기능을 추가하며 기본 데이터 값을 설정하는 예제를 수행하겠다.
@Configuration 설정 클래스의 @Bean 설정과 싱글톤 객체에 대한 이야기를 다뤄보도록 하겠다. 스프링으로 빈 객체를 다루면서 생길 수 있는 궁금증을 해소해보자.
의존 대상을 생성자나 메서드를 이용해서 주입하는 방식 외에 자동으로 주입해주는 방법은 없을까? @Autowired는 이를 위한 애노테이션이다.
컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능이다. 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록할 수 있다. 이 기능을 사용하면 설정 코드가 줄어든다.
AOP는 Aspect Oriented Programming의 약자다. 여러 객체에서 공통으로 적용할 수 있는 기능의 구현을 분리해 재사용성을 높여주는 프로그래밍 기법을 말한다.