Maven
1. Maven
1)라이브러리 관리 + 빌드 툴
2)프로젝트 구조와 내용을 기술하는 선언적 접근 방식의 오픈 소스 빌드 툴
3)편리한 Dependent Library 관리
-의존성 라이브러리 관리(pom.xml)
4)프로젝트 종속 라이브러리들과 그 라이브러리에 의존하는 Dependency 자원까지 관리할 수 있음
5)여러 프로젝트에서 프로젝트 정보나 jar 파일들을 공유하기 쉬움
6)빌드 프로세스를 일관되게 가져갈 수 있음
7)프로젝트 전반의 리소스 관리와 설정 파일 그리고 이와 관련된 표준 디렉토리 구조를
처음부터 일괄된 형태로 구성하여 관리할 수 있음.
=>오픈 소스 라이브러리들은 컴파일 할 때 합쳐져 하나의 기능을 이룸
=>컴파일보다 더 많은 과정을 거치게됨.
=>이런 과정을 빌드라고 하고 이런 작업을 자동으로 수행해주는 툴
=>Ant, Maven, Gradle 등
2. pom.xml
1)Maven 프로젝트를 생성하면 pom.xml 파일이 생성됨
2)Project Object Model 정보를 담고 있음.
수업 시간에 pom.xml에 추가한 내용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
<!-- 데이터소스 관련 라이브러리 -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<!-- 마이바티스 관련 라이브러리 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!-- 로컬에 설치한 오라클 드라이버 라이브러리 설정
<systemPath> : 로컬에 설치한 위치를 지정함
${basedir} : 프로젝트 루트 디렉토리임.
-->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>18.3.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc8.jar</systemPath>
</dependency>
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<!-- 타일즈 관련 라이브러리 -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>2.2.2</version>
</dependency>
|
cs |
필요한 라이브러리를
이곳에서 검색한 후
원하는 버전을 클릭한 다음
저 내용을 복사해서 pom.xml에 추가해주면 자동으로 다운받아짐!!
3. log4j
1)로그 기능을 제공하는 오픈 소스 라이브러리
2)애플리케이션에서 웹 사이트에 접속한 사용자 정보나 각 클래스의
메서드 호출 시각 등 여러 가지 정보를 로그로 출력하여 관리
3)메이븐에서 프로젝트 생성 시 자동으로 log4j 라이브러리가 설치됨!
4) log4j 태그 종류
log4j 태그 종류 | |
<appender> | -로그의 출력 위치 결정(콘솔, 파일, DB) -XXXApender로 끝나는 클래스들을 보면 출력 위치 알 수 있음. |
<layout> | -<appender>가 어떤 형식으로 출력할지 출력 레이아웃을 결정 |
<logger> | -로깅 메시지를 appender에 전달함. |
5)Appender 클래스
Appender 클래스 | |
ConsoleAppender | 콘솔에 로그 메시지를 출력함 |
FileAppender | 로그 메시지를 지정 파일에 기록함 |
RollingFileAppender | 파일 크기가 일정 수준 이상이 되면 기존 파일을 백업, 처음부터 다시 기록함 |
DailyRollingAppender | 일정 기간 단위로 로그 파일을 생성하고 기록함. |
6)PatternLayout 클래스에서 사용되는 여러 가지 출력 속성들
속성 | 의미 |
%p | trace, debug, info, warn, error, fatal 등 로그 레벨 이름 출력 |
%m | 로그 메시지 출력 |
%d | 로깅 이벤트 발생 시각 출력 |
%F | 로깅이 발생한 프로그램 파일 이름 출력 |
%I | 로깅이 발생한 caller의 정보 출력 |
%L | 로깅이 발생한 caller의 라인 수 출력 |
%M | 로깅이 발생한 method 이름 출력 |
%c | 로깅 메시지 앞에 전체 패키지 이름이나 전체 파일 이름 출력 |
7)log4j 로그 레벨
log4j의 로그 레벨들 | |
FATAL | - 시스템 차원에서 심각한 문제가 발생해 애플리케이션 작동이 불가능한 경우에 해당하는 레벨임. - 일반적으로 애플리케이션에서는 사용할 일이 없음. |
ERROR | - 실행 중 문제가 발생한 상태를 나타냄. |
WARN | - 향후 시스템 오류의 원인이 될수 있는 경고 메시지를 나타냄 |
INFO | - 로그인, 상태 변경과 같은 실제 애플리케이션 운영과 관련된 정보 메시지를 나타냄. |
DEBUG | - 개발 시 디버깅 용도로 사용한 메시지를 나타냄 |
TRACE | - DEBUG 레벨보다 상세한 로깅 정보를 출력하기 위해 도입된 레벨임 |
log4j.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<logger name="kr.co.ezen07">
<level value="info" />
</logger>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="info" />
</logger>
<logger name="org.springframework.beans">
<level value="info" />
</logger>
<logger name="org.springframework.context">
<level value="info" />
</logger>
<logger name="org.springframework.web">
<level value="info" />
</logger>
<!-- Root Logger -->
<root>
<priority value="info" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
|
cs |
'📒 education archive > 🌿Spring' 카테고리의 다른 글
[국비학원 기록/Spring] 스프링 CommonsMultipartResolver - 다중 파일 업로드, 썸네일 이미지 이용 (0) | 2022.01.12 |
---|---|
[국비학원 기록/Spring] 타일즈 (Tiles) 설정 과정 및 사용 방법 (0) | 2022.01.12 |
[국비학원 기록/Spring] 스프링 어노테이션(Annotation) 정리, 로그인 기능 구현 (0) | 2022.01.09 |
[국비학원 기록/Spring] 트랜잭션(Transaction), 두 개의 계좌에 대한 동시 계좌이체 구현 예제 (0) | 2022.01.04 |
[국비학원 기록/Spring] 마이바티스 MyBatis Framework 사용, 회원 정보 조회, 수정, 삭제 예제 (0) | 2022.01.04 |