사용자 도구

사이트 도구


springframework:springboot

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
springframework:springboot [2018/06/14 10:39]
kwon37xi
springframework:springboot [2018/09/28 12:18]
kwon37xi [@EnableAutoConfiguration]
줄 3: 줄 3:
   * [[http://start.spring.io/|Spring Initializr]]   * [[http://start.spring.io/|Spring Initializr]]
   * [[http://www.baeldung.com/spring-boot|Learn Spring Boot | Baeldung]]   * [[http://www.baeldung.com/spring-boot|Learn Spring Boot | Baeldung]]
 +  * [[springframework:springboot:devtools|SpringBoot DevTools]]
 +  * [[springframework:springboot:properties|SpringBoot Properties]]
 +  * [[springframework:springboot:jpa|Spring Boot And JPA]]
 +  * [[springframework:springboot:mvc|SpringBoot and Spring MVC]]
 +  * [[springframework:springboot:json|SpringBoot and JSON]]
 +  * [[springframework:springboot:batch|SpringBoot와 SpringBatch]]
 +  * [[springframework:springboot:springboot_admin|SpringBoot Admin]]
  
 +===== @EnableAutoConfiguration =====
 +  * [[https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/EnableAutoConfiguration.html|@EnableAutoConfiguration]]
 +  * 특정 Auto Configuration 방지<code java>
 +@EnableAutoConfiguration(exclude = {
 +    DataSourceAutoConfiguration.class,
 +    DataSourceTransactionManagerAutoConfiguration.class,
 +    HibernateJpaAutoConfiguration.class})
 +</code>
 +  * [[https://www.baeldung.com/spring-boot-custom-auto-configuration|A Custom Auto-Configuration with Spring Boot | Baeldung]]
 ===== Dependency Version Override ===== ===== Dependency Version Override =====
 의존 라이브러리의 버전을 다른 것으로 바꾸고자 한다면 property를 변경하면 된다. 의존 라이브러리의 버전을 다른 것으로 바꾸고자 한다면 property를 변경하면 된다.
줄 12: 줄 28:
  
   * [[https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-dependencies/pom.xml|spring boot dependencies pom.xml]] 여기서 버전 프라퍼티 목록을 알 수 있다.   * [[https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-dependencies/pom.xml|spring boot dependencies pom.xml]] 여기서 버전 프라퍼티 목록을 알 수 있다.
- 
-===== With JPA ===== 
-  * 현재 Spring boot 버전에 [[http://stackoverflow.com/questions/25283198/spring-boot-jpa-column-name-annotation-ignored|@Column(name="")이 안먹는 버그]]가 존재하는 것으로 보임. 
-  * [[https://github.com/spring-projects/spring-boot/issues/2129| @Column with name attribute not working property on entities]] 
-  * 해결책은 naming strategy를 직접 지정해 줄 것<code> 
-// Hibernate 4 
-spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy 
-// or 
-spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.DefaultNamingStrategy 
- 
-// Hibernate 5 
-spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 
-</code> 
  
 ===== JRebel SpringBoot / Gradle ===== ===== JRebel SpringBoot / Gradle =====
줄 30: 줄 33:
  
  
-===== Date/Time Format ===== 
-  * [[http://www.popit.kr/rest-api-%eb%82%a0%ec%a7%9c%ec%8b%9c%ea%b0%84-%ed%91%9c%ed%98%84-%ec%a0%95%ed%95%98%ea%b8%b0/|REST API 날짜/시간 표현 정하기]] 
-  * [[http://javacan.tistory.com/478|자바캔(Java Can Do IT) :: 스프링 부트 2.0과 1.5의 Jackson JSON 날짜 타입 포맷 설정]] 
-  * 1.x와 2.x 에서 동일 결과를 낼 수 있는 방식 지정할 것. 
  
 ===== DataSource ===== ===== DataSource =====
줄 47: 줄 46:
   * 위 예에서 설정값은 ''my.datasource.*''로 구성한다. [[java:database:hikaricp|HikariCP]] 등 다른 구현체를 사용할 수도 있다.   * 위 예에서 설정값은 ''my.datasource.*''로 구성한다. [[java:database:hikaricp|HikariCP]] 등 다른 구현체를 사용할 수도 있다.
  
 +===== BootRun =====
 +==== Debug Mode ====
 +<code groovy>
 +bootRun {
 +    if (project.hasProperty("bootDebug")) {
 +        jvmArgs = ["-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"]
 +    }
 +}
 +
 +// suspend=y는 JVM이 뜰 때 Remote Debugger가 접속될 때까지 기다린다.
 +// 실행 후 바로 종료하는 명령행 애플리케이션의 경우 무조건 y
 +</code>
 +
 +<code sh>
 +# -PbootDebug 프라퍼티를 지정하면 디버그 모드로 뜬다.
 +./gradlew bootRun -PbootDebug
 +</code>
 +
 +==== Application Arguments ====
 +  * [[https://www.baeldung.com/spring-boot-command-line-arguments|Command-line Arguments in Spring Boot | Baeldung]]
 +<code groovy>
 +bootRun {
 +    if (project.hasProperty('args')) {
 +        args project.args.split(',')
 +    }
 +}
 +</code>
 +
 +위와 같이 설정하고, 아래와 같은 형태로 실행한다.
 +
 +<code sh>
 +./gradlew bootRun -Pargs=param1,param2,...
 +</code>
 ===== 참고 ===== ===== 참고 =====
   * [[http://andromedarabbit.net/wp/spring-boot%ec%97%90%ec%84%9c-spring-framework-%eb%b2%84%ec%a0%84-%ec%a7%80%ec%a0%95%ed%95%98%ea%b8%b0/|Spring Boot에서 Spring Framework 버전 지정하기]]   * [[http://andromedarabbit.net/wp/spring-boot%ec%97%90%ec%84%9c-spring-framework-%eb%b2%84%ec%a0%84-%ec%a7%80%ec%a0%95%ed%95%98%ea%b8%b0/|Spring Boot에서 Spring Framework 버전 지정하기]]
   * [[http://www.infoq.com/presentations/spring-boot-devops|Spring Boot for DevOps]]   * [[http://www.infoq.com/presentations/spring-boot-devops|Spring Boot for DevOps]]
   * [[https://examples.javacodegeeks.com/enterprise-java/spring/boot/spring-boot-tutorial-beginners/|Spring Boot Tutorial for beginners]]   * [[https://examples.javacodegeeks.com/enterprise-java/spring/boot/spring-boot-tutorial-beginners/|Spring Boot Tutorial for beginners]]
-  * [[http://www.javabeat.net/spring-boot-devtools/|Ultimate guide to SpringBoot devtools]] 
   * [[https://examples.javacodegeeks.com/enterprise-java/spring/boot/spring-boot-configuration-tutorial/|Spring Boot Configuration Tutorial]]   * [[https://examples.javacodegeeks.com/enterprise-java/spring/boot/spring-boot-configuration-tutorial/|Spring Boot Configuration Tutorial]]
   * [[http://jojoldu.tistory.com/226|SpringBoot @MockBean, @SpyBean 소개]]   * [[http://jojoldu.tistory.com/226|SpringBoot @MockBean, @SpyBean 소개]]
   * [[http://www.baeldung.com/spring-boot-shutdown|Shutdown a Spring Boot Application | Baeldung]]   * [[http://www.baeldung.com/spring-boot-shutdown|Shutdown a Spring Boot Application | Baeldung]]
 +  * [[http://www.baeldung.com/spring-boot-thin-jar|Thin JARs with Spring Boot | Baeldung]]
 +  * [[https://dzone.com/articles/graceful-shutdown-spring-boot-applications|Graceful Shutdown Spring Boot Applications - DZone Java]]
springframework/springboot.txt · 마지막으로 수정됨: 2022/10/26 10:14 저자 kwon37xi