목록JAVA/SpringBoot (12)
도찐개찐
@Scheduled Spring Boot에서 @Scheduled 어노테이션을 사용하면 일정한 시간 간격으로, 혹은 특정 시간에 코드가 실행되도록 설정할 수 있다. 주기적으로 실행해야 하는 작업이 있을 때 적용해 쉽게 사용하자. @Scheduled 사용법 @Scheduled 어노테이션을 사용하기 위해 다음과 같이 Application Class에 @EnableScheduling을 추가한다. @EnableScheduling @SpringBootApplication public class SchedulerApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } 그리고 실..
https://dev-truly.tistory.com/entry/SpringBoot-MongoDB-%EC%84%A4%EC%B9%98-%EB%B0%8F-MongoTemplate-vs-MongoRepository-%EB%B9%88%EB%93%B1%EB%A1%9D-%EA%B4%80%EB%A6%AC [SpringBoot] MongoDB 설치 및 MongoTemplate vs MongoRepository 빈등록 관리 [MongoDB] 사용자 계정 생성 및 권한 관리 일반적으로 DB 서버에서 사용하는 계정의 종류는 크게 두 가지로 나눌 수 있습니다. DB 관리자가 사용하는 어드민용 계정과 실제 애플리케이션 서버에서 DB blog.dev-truly.dev _class 필드는 무슨 필드지? 스프링 부트(Spring B..
[MongoDB] 사용자 계정 생성 및 권한 관리 일반적으로 DB 서버에서 사용하는 계정의 종류는 크게 두 가지로 나눌 수 있습니다. DB 관리자가 사용하는 어드민용 계정과 실제 애플리케이션 서버에서 DB 접근 시 사용하는 사용자(서비스) 계정 blog.dev-truly.dev 1. spring-boot-starter-data-mongodb 의존성 주입 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-mongodb 상기 경로에서 본인 환경에 맞는 버전의 spring-boot-starter-data-mongodb 의존성을 주입해 줍니다. # build.gradle implementation group: ..
Mapper XML과 DAO Interface를 연결해주는 MapperFactoryBean을 사용하지 않고, SqlSession을 DAOImpl 클래스에 의존성을 주입(DI)해 사용해보자. MapperFactoryBean은 **DaoImpl 클래스가 필요 없는 대신 DAO 인터페이스가 늘어날 때마다 root-context.xml에 bean을 등록해줘야 하는 반면에 SqlSession을 **DaoImpl 클래스에 DI해 사용하면 bean 객체를 추가해주지 않아도 되지만 DAO 인터페이스를 구현하는 DAOImpl 클래스를 필요로 한다. root-context.xml을 열어 MapperFactoryBean 객체를 추가해줬던 코드를 주석 처리한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15..
Rest Api 애플리케이션 개발에 있어 API 스펙에 대한 문서작업은 적지 않은 시간을 요구합니다. 또한 운영을 하게 되면서 지속적으로 문서를 업데이트하는 것 또한 많은 리소스가 필요합니다. 이러한 시간을 단축시키기 위해 문서 자동화 프레임 워크를 이용하는 방법이 있습니다. 대표적으로 Swagger, Spring REST Docs가 있는데 그중 Swagger 적용 방법에 대해 알아보겠습니다. 1. Dependency 설정 Maven io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2 Gradle // https://mvnrepository.com/artifact/io.springfox/springfox-swagger..
SpringBoot로 프로젝트 생성시 resources 에서 정적 리소스(html/css/js)를 관리하다 보니 정적 리소스 변경 및 갱신시 서버를 restart 해야만 합니다. 자바 소스 및 정적 리소스 변경시 서버 자동 restart가 될 수 있도록 하는 설정에 대해서 작성 해 보았습니다. 1. spring-boot-devtools 의존성 추가 // Gradle compileOnly 'org.springframework.boot:spring-boot-devtools' org.springframework.boot spring-boot-devtools true 2. application.properties 혹은 application.yml에 reload 설정 추가 SpringBoot 프로젝트의 경우 ap..
스프링부트에 log4j2.yml과 build.gradle을 이용하여 log4j2를 설정 1. build.gradle 기본적으로 slf4j 로깅 프레임워크를 사용하고, spring-boot-starter-web 은 logback이 기본 로깅 모듈이므로 logback의 의존성을 제거하고 log4j2 의존성을 추가해야한다. (logback 미제거시 multiple binding error) configurations { /*logback 의존성 제거*/ all { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' } } dependencies { /*log4j2 의존성 추가*/ compile 'org.springfr..
Swagger Swagger란 서버로 요청되는 URL 리스트를 HTML화면으로 문서화 및 테스트 할 수 있는 라이브러리이다. 간단하게 설명하면 Swagger는 API Spec 문서이다. API를 엑셀이나 가이드 문서를 통해 관리하는 방법은 주기적인 업데이트가 필요하기 때문에 관리가 쉽지 않고 시간이 오래 걸린다. 그래서 Swagger를 사용해 API Spec 문서를 자동화해주어 간편하게 API문서를 관리하면서 테스트할 수 있다. Swagger 설정하기 먼저 Swagger 사용을 위해 pom.xml에 dependency를 추가한다. io.springfox springfox-swagger-ui 2.9.2 io.springfox springfox-swagger2 2.9.2 그 후 환경 설정을 위해 Swaage..