air-mariadb-starter를 의존하는 비즈니스 애플리케이션 프로토타입으로, 이 포스트에서는 Controller, Service, Model, Mapper에 대한 코드는 다루지 않습니다.
application.yml
MariaDb와 Mybatis, log4jdbc 의존성을 가지고 있기 때문에 각각에 대한 yml 설정 필요합니다.
...중략
logging:
level:
root: INFO
spring:
datasource:
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mariadb://{서버IP:포트}/{데이터베이스명}
username: {유저명}
password: {패스워드}
...중략
mybatis:
mapper-locations: classpath: {마이바티스 매퍼 경로}
type-aliases-package: {모델 객체가 위치한 경로}
configuration:
map-underscore-to-camel-case: true
default-fetch-size: 100
default-statement-timeout: 30
...중략
log4jdbc 설정 파일
log4jdbc를 위한 설정 파일은 이를 의존하는 각 비즈니스 애플리케이션에서 작성합니다.
(1) log4jdbc.log4j2.properties
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
(2) logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="jdbc.sqlonly" level="debug" />
<logger name="jdbc.sqltiming" level="off" />
<logger name="jdbc.audit" level="off" />
<logger name="jdbc.resultset" level="off" />
<logger name="jdbc.resultsettable" level="debug" />
<logger name="jdbc.connection" level="off" />
</configuration>
메인클래스 어노테이션 설정
air-mariadb-starter를 의존하는 비즈니스 애플리케이션에서는 메인클래스에 반드시 아래와 같은 어노테이션 설정이 필요합니다.
@MapperScan({매퍼 경로})
@EnableTransactionManagement
@SpringBootApplication(scanBasePackages = [{프로젝트 루트 경로},"kr.sys4u.lab.aircommonlib"])
class AirMariadbPrototypeApplication
fun main(args: Array<String>) {
runApplication<AirMariadbPrototypeApplication>(*args)
}
- MapperScan : MyBatis 매퍼를 읽어 들이기 위해 필요한 어노테이션
- EnableTransactionManager : MariaDB 트랜잭션을 Java Config 방식으로, 어노테이션을 통해 사용하기 위해 필요한 어노테이션
- scanBasePackages : common-lib-stub에서 카프카 토픽을 관리하기 위해 해당 경로를 반드시 추가
'Infra System' 카테고리의 다른 글
Eureka Server(standalone) - Outer Architecture (0) | 2020.10.14 |
---|---|
MongoDB based Prototype - Inner Architecture (0) | 2020.10.14 |
Common Lib Stub - Inner Architecture (0) | 2020.10.14 |
Application Dependency Declaration (0) | 2020.10.14 |
nexus install on kubernetes (0) | 2020.10.13 |
댓글