포스팅큐레이션, 자바이야기 014. 전자정부 프레임워크용 MySQL DDL 생성하기
안녕하세요. 가야태자 @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
위와 같이 톰캣 서버는 잘 실행이 되었습니다.
화면도 잘 실행이 되었는지 한번 보겠습니다.
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
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
Upvoted! Thank you for supporting witness @jswit.