포스팅큐레이션, 자바이야기 015. 전자정부 프레임워크용 MySQL 연결하고 실행하기

in hive-161316 •  yesterday  (edited)

image.png

안녕하세요. 가야태자 @talkit 입니다.

공통 컴포넌트까지 잘 추가 하셨죠?

자 그럼 여러가지 설정 파일을 수정 해보겠습니다.

globals.properties 수정

# KISA 검증 (2019년 11월) - 중요정보 암호화
# Globals.mysql.Password 는 com01 을 암호화한 것으로 https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:crypto_simplify_v3_8 참조할 것
# Globals.mysql.Password = com01 처럼 평문을 사용하려면 context-crypto.xml 에서 initial="false" crypto="false" 로 설정하고, 
# context-datasource.xml 에서 <property name="password" value="${Globals.mysql.Password}"/> 로 바꾸어 주어야 함
#mysql
Globals.mysql.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.mysql.Url=jdbc:log4jdbc:mysql://127.0.0.1:3306/com
Globals.mysql.UserName =com
Globals.mysql.Password =xz4fmrSdr1vGGl6UtwPLwA%3D%3D

위와 같이 되어 있는 부분이 있습니다.

일단, 보안을 위해서 암호화를 하라는 이야기인데 위에 있는 주석을 이용해서 암호화하지 않겠습니다. ^^

Globals.mysql.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.mysql.Url=jdbc:log4jdbc:mysql://127.0.0.1:3306/com
Globals.mysql.UserName =com
Globals.mysql.Password =xz4fmrSdr1vGGl6UtwPLwA%3D%3D

우선 제일 첫줄을 제외하고는 변경해주십시오.

저는 제가 사용할 서버와 계정으로 변경 했습니다.

context-crypto.xml

    <egov-crypto:config id="egovCryptoConfig" 
        initial="true"
        crypto="true"
        algorithm="SHA-256"
        algorithmKey="egovframe"
        algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ="
        cryptoBlockSize="1024"
        cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties"
    />

위 내용 중에서

        initial="true"
        crypto="true"

이부분을

        initial="false"
        crypto="false"

로 변경합니다.

암호화를 안하겠다는 이야기 입니다. ^^

context-datasource.xml

    (html comment removed:  MySQL )
    <beans profile="mysql">  
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${Globals.mysql.DriverClassName}"/>
        <property name="url" value="${Globals.mysql.Url}" />
        <property name="username" value="${Globals.mysql.UserName}"/>
        (html comment removed:  암호화(Crypto) 관련 서비스 https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:crypto_simplify_v3_8 참조 )
        <property name="password" value="#{egovEnvCryptoService.getPassword()}"/>
    </bean>
    </beans>

위 파일에서도 변경할 것이 있습니다.

        <property name="password" value="#{egovEnvCryptoService.getPassword()}"/>

위 줄을 아래와 같이 변경 합니다.

<property name="password" value="${Globals.mysql.Password}"/>

저는 변경을 했습니다.

pom.xml

       <dependency>
            <groupId>com.googlecode.log4jdbc</groupId>
            <artifactId>log4jdbc</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-dbcp2</artifactId>
            <version>2.4.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.31</version>
        </dependency>

위부분이 주석으로 처리 되어 있는데 푸십시오

그리고,

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.31</version>
        </dependency>

위 부분을

(html comment removed:  https://mvnrepository.com/artifact/mysql/mysql-connector-java )
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

으로 대체해 주십시오.

저희가 사용하고 있는 MySQL서버가 높은 버전이어서 5.대에서는 접속이 안됩니다. T.T

실행

실행을 해보고 정상적을 되면 하나를 안해도 되서 ^^

실행을 먼저 해보겠습니다.

[log4j]2025-03-02 13:39:28,973  INFO [org.springframework.web.servlet.DispatcherServlet] FrameworkServlet 'dispatcher': initialization completed in 1125 ms
3월 02, 2025 1:39:28 오후 org.apache.coyote.AbstractProtocol start
정보: 프로토콜 핸들러 ["http-nio-8080"]을(를) 시작합니다.
3월 02, 2025 1:39:29 오후 org.apache.catalina.startup.Catalina start
정보: Server startup in 15751 ms

위와 같이 톰캣 서버는 잘 실행이 되었습니다.

화면도 잘 실행이 되었는지 한번 보겠습니다.

image.png

http://127.0.0.1:8080/accountbook/
http://127.0.0.1:8090/accountbook/

위 주소로 일단 접속하시면 됩니다.

혹시나 중간에 톰캣을 변경 하셨으면 8090 입니다. ^^

감사합니다.

Write Once, reward forever via EverSteem app

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Upvoted! Thank you for supporting witness @jswit.

어제 제가 글을 잘 못 발행 했네요 T.T
어제 글은 MySQL DDL 생성인데 내용이 이글로 나갔습니다.

https://steemit.com/eversteem/@talkit/014-mysql-ddl-19080

어제 글을 수정 해두었습니다.