1. 아파치 메이븐
(1) 메이븐(Maven)
- 정의 : "프로젝트 구조와 내용을 기술하는 선언적 접근 방식의 오픈 소스 빌드 툴"
- 프로젝트 종속 라이브러리들과 그 라이브러리에 의존하는 Dependency 자원까지 관리.
- 프로젝트 전반의 리소스 관리와 설정 파일 그리고 이와 관련된 표준디렉터리 구조를 처음부터 일관된 형태로 구성하여 관리할 수 있음
(2) 메이븐 설치하기
- maven.apache.org에 접속한 후 Download를 클릭한다.
- apahce-maven-version-vin.zip 파일을 다운로드한다
- 원하는 폴더에 다운로드 한 압축을 해제하고 경로를 복사한다
- 환경 변수 설정에서 MAVEN_HOME을 생성하고 MAVEN_HOME/bin을 PATH에 등록한다.
- 터미널에서 mvn 명령으로 설치가 잘되었는 지 확인한다.
(3) 메이븐 기반 웹 프로젝트 기본 디렉터리 구조
- 프로젝트 구성 요소
구성요소 | 설명 |
pom.xml | 프로젝트 정보가 표시되며 스프링에서 사용되는 여러 가지 라이브러리를 설정해 다운로드 할 수 있음 |
src/main/java | 자바 소스 파일이 위치 |
src/main/resources | 프로퍼티 파일이나 XML 파일 등 리소스 파일이 위치함 |
src/main/webapp | WEB_INF 등 웹 애플리케이션 리소스 위치 |
src/test/java | JUnit 등 테스트 파일이 위치 |
src/test/resources | 테스트 시에 필요한 resource 파일이 위치함. |
- pom.xml
프로젝트가 생성되면 pom.xml 파일이 생성되는데, 여기서 POM은 Project Object Model의 약자로 이름 그대로 Project 의 Object Model의 정보를 담고있는 파일입니다. pom.xml은 <project>...</project>로 둘러싸여서 section 별로 여러 정보를 나타내며 설정할 수 있다. 이 파일에서 주로 다루는 기능은 프로젝트 정보, 빌드 설정, 빌드 환경, 의존성 정보 등이 있습니다.
더보기
- 프로젝트 정보 : 프로젝트의 이름, 개발자 목록, 라이센스 등
속성 | 설명 |
groupId | 프로젝트 그룹 id를 나타내며 일반적으로 도메인 이름을 사용해 설정. |
artifactId | 프로젝트 아티팩트 id를 설정. 대개는 패키지 이름으로 설정. |
version | 프로젝트의 버전을 설정. |
packaging | 애플리케이션 배포 시 패키징 타입을 설정. 이 경우는 war파일로 패키징됨. |
- 빌드 설정 : 소스, 리소스, 라이프 사이클별 실행한 플로그인(goal) 등 빌드와 관련된 설정
- 빌드 환경 : 사용자 환경 별로 달라질 수 있는 프로파일 정보
- POM 연관(의존성) 정보 : 의존 프로젝트(모듈), 상위 프로젝트, 포함하고 있는 하위 모듈 등
속성 | 설명 |
dependency | 해당 프로젝트에서 의존하는 다른 라이브러리 정보를 기술 |
groudId | 의존하는 프로젝트의 그룹 id |
artifactId | 의존하는 프로젝트의 artifact id |
version | 의존하는 프로젝트의 버전 정보 |
2. STS
- STS(Spring Tool Suite) : 이클립스 기반으로 만들어진 스프링 기반 애플리케이션 개발용 도구
- STS 설치 방법
- 이클립스에 STS 플러그인 설치
- 스프링 홈페이지인 http://spring.io 에서 직접 다운로드 해서 설치하는 방법
3. 스프링 프로젝트 만들기
4. log4j란?
- 스프링 프로젝트를 생성하면 사동으로 log4j 라이브러리가 설치 된다. -> log4j.xml
- log4j는 로그 기능을 제공하는 오픈 소스 라이브러리로, 애플리케이션에서 웹 사이트에 접속한 사용자 정보나 각 클래스의 메소드 호출 시각 등 여러 가지 정보를 로그로 출력해서 관리한다.
- 로그 관리는 왜 필요한가?
log4j XML 태그
태그 | 설명 |
<Appender> | 로그의 출력 위치를 결정(파일, 콘솔, DB등). log4j API 문서의 XXXAppender로 끝나는 클래스들의 이름을 보면 출력 위치를 알 수 있다. |
<Layout> | Appender가 어디에 출력할 것인지 결정했다면 어떤 형식으로 출력할지 출력 레이아웃을 결정한다. |
<Logger> | 로깅 메세지를 Appender에 전달한다. 개발자가 로그 레벨을 이용해 로그 출력 여부를 조정할 수 있다. logger는 로그 레벨을 가지고 있으며, 로그의 출력 여부는 로그문의 레벨과 로거의 레벨을 가지고 결정한다. |
* log4j 관련 사이트
http://logging.apache.org/log4j/1.2/manual.html
- 예제 : log4j.xml 이용해 로그 메세지 출력하기
더보기
1. log4j 작성
2. memberControllerImpl 클래스 작성
3. 출력 결과
References
- 자바 웹을 다루는 기술
'Web > Spring' 카테고리의 다른 글
[ Spring ] ⑥ 스프링 애너테이션 기능 (0) | 2019.08.12 |
---|---|
[ Spring ] ⑤ 스프링 JDBC 기능 (0) | 2019.08.02 |
[ Spring ] ④ 스프링 MVC 기능 (0) | 2019.08.01 |
[ Spring ] ③ AOP (0) | 2019.08.01 |
[ Spring ] ② DI와 IoC (0) | 2019.08.01 |