본문 바로가기

boot

gradle 빌드 환경에서 profile 적용하기 java -jar 이런걸로 실행시키면 문제될게 없지만gradle의 bootRun task를 사용할때 스프링 프로파일 적용 방법입니다build.gradle에 아래와 같이 설정 추가하면 됩니다. build.gradlebootRun { String activeProfile = System.properties['spring.profiles.active'] systemProperty "spring.profiles.active", activeProfile } DockerfileENTRYPOINT ["./gradlew"] CMD ["bootRun", "-Dspring.profiles.active=prod"] 더보기
스프링 부트+마이바티스에서 트랜잭션이 안먹을때 @Transactional(rollbackFor = Exception.class) 1. rollbackFor를 명시해준다2. 메소드는 public으로 선언해준다 다른 패키지에서 안쓴다고 public으로 안했다가 삽질 경험그 외에 다른 DataSourceTransactionManager니 @EnableTransactionManagement니이런거 안넣어도 잘 동작함(블로그 글 기준) [개발/JAVA] - 스프링 부트(Spring boot)에서 mybatis(oracle) 적용하기 참고https://stackoverflow.com/questions/7085271/how-to-set-up-transaction-with-mybatis-and-spring 더보기
spring profile 사용시 주의점 최근 삽질 application.yml에 값을 설정 해두고spring: profiles: local sleep: min: 100 max: 500 --- spring: profiles: dev sleep: min: 500 max: 1000 application.properties에 아래와 같이 프로파일을 설정해주었다spring.profiles.active=dev 어플리케이션 구동했으나 계속 발생하는 오류. 심지어 다른 서버에서는 정상 동작 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sleepAspect': Injection of autowired dependencies failed; neste.. 더보기
스프링 부트(spring boot)로 톰캣에서 실행하기(이클립스) 스프링 부트로 개발된 웹 어플리케이션을 톰캣에 올리는 방법입니다.이클립스에서 단독 실행 모드와 톰캣 배포 방식 두가지 다 가능하기 때문에개발할떄는 단독으로 띄워서 개발을 하고 배포할때만 톰캣을 띄워서 쉽게 배포를 하셔도 됩니다. pom.xml 4.0.0 net.donnert spring.boot.web 0.0.1-SNAPSHOT jar spring.boot.web http://maven.apache.org UTF-8 1.8 org.springframework.boot spring-boot-starter-parent 1.4.0.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter.. 더보기
스프링 부트(Spring boot)로 restful API 서버 개발하기 스프링 부트를 이용한 api서버를 만들겠습니다.서버에 요청하면 json형식으로 결과를 내려주는 서버를 만들게 됩니다. 프로젝트 생성메이븐 프로젝트를 생성해 줍니다.new-project-Maven Project해서 생성하시던지그냥 프로젝트 생성 후 confiture-convert to maven project를 해줍니다.아래와 동일한 프로젝트 구조가 생성이 됩니다.2016/09/07 - [개발/JAVA] - 스프링 부트(Spring boot)로 개발하기 라이브러리 추가pom.xml 4.0.0 net.donnert spring.boot.web 0.0.1-SNAPSHOT jar spring.boot.web http://maven.apache.org UTF-8 org.springframework.boot spr.. 더보기
스프링 부트(Spring boot)에서 mybatis(oracle) 적용하기 2016/09/19 - [개발/JAVA] - 스프링 부트(Spring boot)에서 logback 적용하기 이어서.. 스프링 부트에서 마이바티스를 연동해 보도록 하겠습니다.실무에서 주로 사용되는 mapper xml을 이용한 방법을 살펴보겠습니다.DB는 오라클을 사용하지만 드라이버만 바꾸면 다른 종류의 DB도 사용이 가능합니다. pom.xml오라클 드라이버는 메이븐 중앙 저장소에 없기 때문에 오라클 저장소를 추가해 줍니다.parent와 동일 레벨로 저장소를 추가합니다. oracle ORACLE JDBC Repository http://maven.jahia.org/maven2 그리고 오라클 드라이버와 mybatis spring goot starter 종속성을 추가해줍니다.마이바티스에서 스프링 대응하여 나온 .. 더보기
스프링 부트(Spring boot)에서 logback 적용하기 2016/09/08 - [개발/JAVA] - 스프링 부트(Spring boot)에서 프로퍼티 사용하기 전에 이어서 이번에는 logback을 적용시켜보겠습니다.사실 이미 스프링 부트가 알아서 다 적용시켜놨지면 설정파일을 이용해서프로파일 적용 및 파일에 쓰는 방법을 해보겠습니다. logback.xml --> logback-spring.xml로 만드세요src/main/resources 폴더에 logback.xml을 작성합니다.아래 샘플은 제가 사용하고 있는 파일입니다.UTF-8%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p}\(${PID:- }\)[%t] [%logger{30}:%line] %msg%nUTF-8%d{yyyy-MM-dd HH:mm:ss.SSS} ${.. 더보기
스프링 부트(Spring boot)에서 profile, yml 사용하기 2016/09/08 - [개발/JAVA] - 스프링 부트(Spring boot)에서 프로퍼티 사용하기이전 글에 이어서...이번에는 프로파일별로 프로퍼티를 설정 해 볼 예정입니다.개발을 하다보면 로컬->개발기->상용기 형식으로 바뀌면서 설정값들이 바뀌어야 하는 경우가 많습니다.개발할때는 로그를 1초마다 찍고 싶고 개발기에서는 5초마다 찍고 싶을때 주석을 풀고 지우고 하지 말고 아래처럼 프로파일로 관리를 하면 됩니다.yaml형식의 파일을 사용하며 하나의 파일 안에서 프로파일 별로 설정값들이 설정됩니다. application.properties더 이상 사용하지 않습니다. 지워주세요. application.yml이제 모든 설정은 이 yml파일 안에서 하게 됩니다.yml파일은 탭문자가 들어가면 안되며, 아래와 같.. 더보기
스프링 부트(Spring boot)에서 프로퍼티 사용하기 개요개발을 하다보면 당연하지만 properties 파일을 사용합니다.간단하게 스프링 부트에서 사용하는 방식을 살펴보겠습니다.마찬가지로 이전 글과 이어집니다.2016/09/07 - [개발/JAVA] - 스프링 부트(Spring boot)로 scheduling 개발하기 프로퍼티 생성new-Source Folder를 선택하여 src/main/resources폴더를 생성합니다.그리고 생성된 폴더에 application.properties만들고 다음과 같이 작성합니다.spring.task.fixedDelay=2000spring.task.name=donnert Timer 수정 package net.donnert.spring.boot; import java.util.concurrent.atomic.AtomicInte.. 더보기
스프링 부트(Spring boot)로 scheduling 개발하기 2016/09/07 - [개발/JAVA] - 스프링 부트(Spring boot)로 개발하기 위에서 기본적인 부트 환경이 세팅 되었으니 간단한 스케줄링 프로그램을 만들어보도록 한다.매초마다 로깅을 하거나 배치처럼 작동할 수 있는 예제를 작성해본다. 스케줄링 설정Application에 @EnableScheduling어노테이션을 달아준다. package net.donnert.spring.boot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableSc.. 더보기