본문 바로가기
Website Production

Spring 홈페이지 - (6) 프로젝트 환경설정

by GoodDayDeveloper 2021. 1. 10.
반응형

안녕하세요. 오늘은 스프링 프로젝트의 환경설정을 해보려합니다.

 

우선 스프링 프로젝트를 진행하기 위한 라이브러리를 설정해보려합니다.

 

설치 라이브러리 :

spring-tx  / spring-jdbc / spring-test 

mybatis / mybatis-spring / 

 

 

 

 

 

 

스프링 프로젝트 설정(pom.xml)

 

 

프로젝트의 환경 설정을 변경하기 위해서 프로젝트 가장 밑에 있는 pom.xml로 들어갑니다.

 

 

 

자바 버전과 스프링 버전을 설정해줍니다.

 

 

 

그리고 스프링 관련된 추가 라이브러리를 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
<!-- project lib[s] -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.6</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<!-- project lib[e] -->
cs

 

서블릿 버전을 3.1로 수정해줍니다.

 

 

메이븐 관련 자바 버전을 1.8로 설정해줍니다.

 

 

 

 

pom.xml에서 모든 설정을 마쳤으면 

프로젝트 우클릭으로 메이븐에서 업데이트 프로젝트를 해줍니다.

 

 

 

 

 

 

 

데이터베이스 설정

 

데이터 설정은 root-context.xml에서 설정을 진행합니다.

경로 : src > main > webapp >WEB-INF > spring > root-context.xml

 

 

 

네임스페이스에서 mybatis를 추가합니다.

aop /  beans / context / jdbc / mybatis-spring

 

 

그리고 source로 이동하여 root-context.xml에 데이터베이스 설정을 작성합니다.

mysql 주소쓰는 공간에는 localhost주소: 폰트번호 : 스키마이름 순으로 되어있습니다.

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<bean id="dataSource"
  class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
 
  <property name="url"
       value="jdbc:mysql://localhost:3306/website?useSSL=false&amp;serverTimezone=UTC">
  </property>
  <property name="username" value="root"></property>
  <property name="password" value="root"></property>
</bean>
 
 
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource"></property>
</bean>
cs

 

 

 

 

 

 

JDBC 설정

 

mysql 연결을 위한 커넥터를 자바에 설정해야합니다.

 

주소 : dev.mysql.com/downloads/

 

MySQL :: MySQL Community Downloads

The world's most popular open source database

dev.mysql.com

connector/j 클릭

 

 

 

노땡스를 누르면 자동다운로드 진행

 

압축해제하면 jar file이 있습니다.

 

이놈을 자바 립에 복사 붙여넣기해주세요

경로 : java > jdk > jre > lib

이 connector jar file을 자바 빌드에 설정을 합니다.

경로 : 프로젝트 우클릭 > properties > java build path > add External jars > 파일클릭 > 열기 > 저장

 

 

 

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
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.3.xsd
http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
 
<!-- Root Context: defines shared resources visible to all other web components -->
 
<bean id="dataSource"
  class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  
  <property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
  <property name="url"
       value="jdbc:log4jdbc:mysql://localhost:3306/website?useSSL=false&amp;serverTimezone=UTC">
  </property>
  
  <property name="username" value="website"></property>
  <property name="password" value="website"></property>
</bean>
 
 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="dataSource" ref="dataSource"></property>
      <property name="mapperLocations" value="classpath:META-INF/mapper/*Mapper.xml" />
  </bean>
 
 
<mybatis-spring:scan base-package="com.spring.web.board.service.impl" />
<mybatis-spring:scan base-package="com.spring.web.account.service.impl" />
  
  
  <context:component-scan base-package="com.spring.web.board.service.impl" />
  <context:component-scan base-package="com.spring.web.account.service.impl" />
  
  <context:component-scan base-package="com.spring.web.vo" />
  
 
 
 
</beans>
 
cs

 

driverClassName의 value에 net.sf.log4jdbc.sql.jdbcapi.DriverSpy를 설정해줍니다.

 

 

 

 

 

반응형

 

 

 

 

log4jdbc-lg4j2 설정

 

 

SQL 로그를 제대로 보기 위해서는 log4jdbc 라이브러리를 이용해야합니다.

조금전에 받은 jdbc를 이용하여 설정해보겠습니다.

 

 

 

 

src/main/resources →에 log4jdbc.log4j2.properties를 만들고 안의 내용을 생성합니다.

내용 : log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

 

 

 

 

 

 

 

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
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
71
72
73
<?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="com.spring.web">
        <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>
    
    <!-- SQL Logger -->
    <logger name="jdbc.connection" additivity="false">
        <level value="warn" />
        <appender-ref ref="console"/> 
    </logger>
    
    <logger name="jdbc.audit" additivity="false"> 
        <level value="warn"/>  
        <appender-ref ref="console"/> 
    </logger> 
    
    <logger name="jdbc.resultset" additivity="false">
        <level value="warn" />
        <appender-ref ref="console"/> 
    </logger>
    
    <logger name="jdbc.sqlonly" additivity="false"> 
        <level value="info"/> 
        <appender-ref ref="console"/> 
    </logger>
     
    <logger name="jdbc.resultsettable" additivity="false"> 
        <level value="info"/>  
        <appender-ref ref="console"/> 
    </logger> 
    
    <logger name="jdbc.sqltiming" additivity="false">
        <level value="warn" />
        <appender-ref ref="console"/> 
    </logger>
 
    <!-- Root Logger -->
    <root>
        <priority value="warn" />
        <appender-ref ref="console" />
    </root>
    
</log4j:configuration>
 
cs

위와 같이 로그를 설정해줍니다.

 

 

 

 

 

그럼 나중에 게시판 조회할시 쿼리와 그에 대한 결과값들이 콘솔에 출력되는것을 알 수 있습니다.

 

 

 

 

 


 

항목을 클릭하시면 해당 페이지로 이동합니다.
Spring 웹 홈페이지 개발 과정 리스트 (1) 자바설치 및 환경변수 설정
(2) 이클립스 및 스프링 설치
(3) 톰캣설치 방법
(4) 이클립스 자바 환경설정 및 인코딩 설정방법
(5) 데이터베이스(Mysql) 설치
(6) 프로젝트 환경설정
(7) 홈페이지 디자인 적용
(8) 게시판 목록 페이지 작업
(9) 게시판 등록 페이지 작업
(10) 게시판 상세보기 페이지 작업
(11) 게시판 수정/삭제 페이지 작업
(12) 게시판 검색 페이지 작업
(13) 게시판 페이징 작업
(14) 게시판 페이징 쿼리스트링 작업
(15) 회원가입 작업 (feat.아이디 중복체크/비밀번호 암호화)
(16) 로그인/로그아웃 작업 (feat.아이디 기억하기)
(17) 아이디&비밀번호 찾기
(18) 마이페이지 정보&비밀번호 수정

 

 

 

반응형

댓글