포스팅큐레이션, 자바이야기 014. 전자정부 프레임워크용 MySQL DDL 생성하기

in EverSteem13 hours ago

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 입니다. ^^

감사합니다.

#kr #kr-dev #postingcuration #development #develop #eversteem #java


Write Once, reward forever via EverSteem app

Sort:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Upvoted! Thank you for supporting witness @jswit.