SpringBoot -

less than 1 minute read

spring command line - 커맨드라인에서 실행되지 않는 자바언어에 커맨드라인툴은 별쓸모없다

되게쉽고 편하다고 그러는데.. 애초에 자바기술이 그렇게 편하고 쉽게 만들어지지 않았다. 그렇게 편하고 쉬운걸 찾으려면 루비를 하는게 낫다.

복잡한 스프링 생태계를 쑤셔담아놓은 스프링프레임워 풀세트프레임워크로 포함된 기술을 다 이해하고 사용해야한다. 이걸 커스터마이징 해서 쓸 수 있는정도면 이미 스프링 애플리케이션을 혼자 구성할 수 있는 실력일거다. 결코 쉽지는 않다.

초보자가 튜토리얼 보면서 아 이렇게 되는구나 하면서 따라하기는 쉽겠지만 뭔가를 변경하는것 예를들어, 타임리프말고 다른 뷰템플릿을 적용을 하기는 오히려 더 어려울거다.

프로젝트 초기화 방법

spring command line interface spring initializer (http://start.spring.io)

설정

@Enable 실행할거 선택 EnableRabbit. 이라던가 @Grab 의존성 가져오기. gradle에서 하지 @EnableAutoConfiguration(exclude= 특정모듈 .exclude 가능.

네이밍을 느슨하게 인식 message.module.name message.module-name message-module-name MESSAGE_MODULE_NAME 같음.

스캔순서1

classpath classpath:/config file: file:config/

스캔순서2 ???맞나? application.yaml application.yml application.properties

profile application.yaml application-dev.yaml application-prd.yaml application-local.yaml

amqp, jms

redis

webstocet * sockJS * STOMP

SpringBootActuator

spring-boot-starter-actuator HATEOS - org.springframework.hateoas:spring-hateoas

endpoints

/actuator /autoconfig /beans /configprops /docs - org.springframework.boot:spring-boot-actuator-docs /dump - /env /flyway /info /liquibase /logfile /metrics /mappings /shutdown /trace /health

docker 연동. gradle, maven plugin