Maven 이란?
메이븐은 Apache Project 중 프로젝트의 라이브러리를 관리하는 기능을 합니다.
기존에는 라이브러리를 다운받아서 이클립스에서 WEB-INF/lib 안에 라이브러리를 추가해서 사용하였으나, 관리에 어려움이 있었습니다.메이븐을 사용할 경우, Pom.xml 파일에 라이브러리 명칭을 선언해주면 자동으로 찾아서 추가해줍니다.
pom.xml 파일에 선언을 하면 아래 경로로 외부 라이브러리가 다운로드 됩니다.
{C:\Users\사용자}\.m2\repository
우클릭 > New > Other > Maven 검색 후 Maven Project를 선택합니다.
Create a simple project를 선택 후 Next 를 클릭합니다.
Group Id와 Artifact Id는 필수로 입력해주어야합니다.
프로젝트 생성 후 pom.xml 에 필요한 라이브러리를 선언해주면 Maven Repository 에서 자동으로 찾아줍니다.
메이븐 프로젝트를 생성하면 JRE가 기본적으로 1.5 생성되어 에러가 발생합니다.
이를 위해 Update Project를 진행하여야 합니다.
스프링 프레임워크란?
자바 기반의 오픈 소스 어플리케이션으로 개발자들이 업무를 보다 간편하게 하기 위한 추상적인 틀입니다.
J2EE 에 비해 개발이 쉬우며, 개발의 효율성을 진척시킵니다
스프링 프레임워크의 특징
1. 스프링은 제어 반전(IoC : Inversion of Control)을 지원합니다. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있다는 의미 입니다.
객체를 생성하고 조립하는 컨테이너가 제어권을 가지고 생성된 객체를 빈이라고 합니다.
2. 스프링은 의존성 주입(DI : Dependency Injection)을 지원합니다. 각각의 계층이나 서비스들 간에 의존성이 존재할 경우
스프링 컨테이너에서 객체를 생성한 후 , 다른곳에서 객체를 주입받는 것입니다.
3. 스프링은 관점 지향 프로그래밍(AOP : Aspect-Oriented Programming)을 지원합니다.
트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능을 모듈화 하여 중복 작업을 제거해 관리 할 수 있다.
4. 스프링은 다양한 라이브러리 및 데이터베이스 처리를 지원하는 인터페이스를 제공합니다.
자주 사용하는 스프링 프레임워크 모듈
Spring-Core - 스프링의 핵심인 DI 와 IoC 를 제공
Spring-Aop - AOP 구현 기능 제공
Spring-Jdbc - 데이터베이스를 다룰 수 있는 기능 제공
Spring-Tx - 스프링에서 제공하는 트랜젝션 관련 기능 제공
Spring-Webmvc - 스프링에서 제공하는 컨트롤러와 뷰를 이용한 MVC 구현
pom.xml 에서 Spring을 사용한다고 선언합니다.
Xml 파일을 생성하여 Bean 선언 시, 스프링컨테이너 시작과 함께 메모리에 올라갑니다.
기존에는 new 를 통해 객체를 생성하였지만, Spring에서는 GenericXmlApplicationContext를 만들어 Bean을 호출 합니다.
Workspace 에서 아래와 같이 폴더를 생성하면 Import 할 수 있습니다.
1. {Workspace Directory}\Project Name\src\main\java 기능구현하는곳입니다.
2. {Workspace Directory}\Project Name\src\main\resources 설정 파일 및 자원들을 모아둔 곳입니다.
3. {Workspace Directory}\Project Name 안에 pom.xml 을 생성 합니다.
'Web Programming > Spring' 카테고리의 다른 글
6. Spring 로그인 만들기를 통한 기능 엿보기 (0) | 2020.04.05 |
---|---|
5. Spring 프로젝트의 구조 분석 (0) | 2020.04.04 |
4. Spring 웹 프로그래밍 설계 모델 (0) | 2020.04.03 |
3. Spring 어노테이션 Autowired, Resource, Inject (0) | 2020.03.31 |
2. Spring DI(Dependency Injection) (0) | 2020.03.31 |