사내 프로젝트 Spring Boot세팅 기록

Verser·2023년 12월 29일
0

Spring

목록 보기
3/3

사내 SI 프로젝트의 개발세팅기록이라서
해당 포스트는 일반적인 스프링부트의 설정과는 좀 맞지 않을 수있다.

  1. 현재 사용중인 Spring Boot의 설정 상 Build시에 Intellij에서는 Mapper파일들이 자동으로 resource폴더로 옮겨지지 않는다.

해결방법

  • java/kr/aipeppers/pep/ui/폴더들/mapper/*mapper.xml 파일들을
  • /resources/mybatis/mapper/ 폴더 아래로 Mapper파일들을 옮겨준다.
  • 옮겨주는 작업은 번거로우니 스크립트로 작성! 윈도우는 배치로 만들어야하는데 까다로움…

리눅스 기반 쉘 스크립트

rm -rf .../src/main/resources/mybatis/mapper/*Mapper.xml
cp -r .../src/main/java/com/project/bpz/ui/*/mapper/* .../src/main/resources/mybatis/mapper
echo "DONE Copy xml"

윈도우 커맨드 명령어

del ...\project\src\main\resources\mybatis\mapper\*Mapper.xml
//xcopy를 폴더별로 커맨드를 만들어줬다.
xcopy /s ...\src\main\java\kr\aipeppers\pep\ui\category\mapper\*.xml ...\src\main\resources\mybatis\mapper\
echo "DONE Copy xml"

2. Mapper파일을 다 옮겨 줬는데도 서버 실패

  • SpringDataSource.java에서 설정된 프로필을 변경( 분기처리 ) 해줬음
  • infoCoinView관련 에러

public SqlSessionFactory sqlSessionFactory() 
기존소스
//{factoryBean.setMapperLocations(matchingResolver.getResources("kr/project/folder/**/mapper/*.xml")); 

변경 후 소스
application.yml의 파일에 설정된 로컬/개발/운영 설정값에 따라서 분기처리
if( "local".equals(profile)){
	factoryBean.setMapperLocations(matchingResolver.getResources("classpath:mybatis/mapper/*.xml"));
}else{
	factoryBean.setMapperLocations(matchingResolver.getResources("kr/project/folder/**/mapper/*.xml"));  //classpath:dbio/*.xml
}

3. 자잘한 수정사항

  • 추가
  • log관련 에러

log-back-local.xml mac으로 넘어오면서 파일 경로 인식못함 
-> logs/ttt/...
-> ./logs/ttt/...
./로 변경해줘야함
profile
Backend

0개의 댓글

관련 채용 정보