문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
springframework:springboot [2018/09/28 12:17] kwon37xi [SpringBoot] |
springframework:springboot [2019/04/05 15:36] kwon37xi |
||
---|---|---|---|
줄 10: | 줄 10: | ||
* [[springframework: | * [[springframework: | ||
* [[springframework: | * [[springframework: | ||
+ | * [[springframework: | ||
+ | * [[springframework: | ||
+ | * [[springframework: | ||
===== @EnableAutoConfiguration ===== | ===== @EnableAutoConfiguration ===== | ||
* [[https:// | * [[https:// | ||
* 특정 Auto Configuration 방지< | * 특정 Auto Configuration 방지< | ||
- | @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, | + | @EnableAutoConfiguration(exclude = { |
+ | | ||
+ | | ||
+ | | ||
</ | </ | ||
- | + | | |
- | ===== Dependency Version Override ===== | + | |
- | 의존 라이브러리의 버전을 다른 것으로 바꾸고자 한다면 property를 변경하면 된다. | + | |
- | <code groovy> | + | |
- | // 하이버네이트 버전 | + | |
- | ext[' | + | |
- | </ | + | |
- | + | ||
- | | + | |
===== JRebel SpringBoot / Gradle ===== | ===== JRebel SpringBoot / Gradle ===== | ||
* [[https:// | * [[https:// | ||
- | |||
- | |||
===== DataSource ===== | ===== DataSource ===== | ||
줄 43: | 줄 39: | ||
* 위 예에서 설정값은 '' | * 위 예에서 설정값은 '' | ||
- | ===== BootRun | + | ==== SpringApplicationRunListener |
- | ==== Debug Mode ==== | + | * [[https:// |
- | < | + | * SpringBoot 로딩중 이벤트를 받아 처리한다. |
- | bootRun | + | |
- | | + | ===== SpringBoot WebMVC 정적 리소스(static resource) |
- | | + | ==== static resource 서빙 경로 |
+ | |||
+ | * ''/ | ||
+ | * jar 애플리케이션을 실행한 디렉토리 하위의 '' | ||
+ | * '' | ||
+ | @Configuration | ||
+ | public class StaticResourceConfig extends WebMvcConfigurerAdapter | ||
+ | | ||
+ | public void addResourceHandlers(ResourceHandlerRegistry registry) { | ||
+ | registry.addResourceHandler("/static/**") | ||
+ | | ||
} | } | ||
} | } | ||
- | |||
- | // suspend=y는 JVM이 뜰 때 Remote Debugger가 접속될 때까지 기다린다. | ||
- | // 실행 후 바로 종료하는 명령행 애플리케이션의 경우 무조건 y | ||
</ | </ | ||
- | + | ==== static resource 관련 프라퍼티 ==== | |
- | < | + | < |
- | # -PbootDebug 프라퍼티를 지정하면 디버그 모드로 뜬다. | + | server.compression.enabled=true |
- | ./gradlew bootRun | + | spring.resources.chain.cache=true |
+ | server.compression.min-response-size=2048 | ||
+ | spring.resources.chain.enabled=true | ||
+ | spring.resources.cache-period=3600 | ||
</ | </ | ||
- | ==== Application Arguments | + | ===== Server / Tomcat 설정 ===== |
- | * [[https://www.baeldung.com/spring-boot-command-line-arguments|Command-line Arguments in Spring Boot | Baeldung]] | + | < |
- | <code groovy> | + | server.address= # Network address to which the server should bind. |
- | bootRun { | + | server.compression.enabled=false # Whether response compression is enabled. |
- | if (project.hasProperty(' | + | server.compression.excluded-user-agents= # Comma-separated list of user agents for which responses should not be compressed. |
- | args project.args.split(' | + | server.compression.mime-types=text/html,text/xml, |
- | } | + | server.compression.min-response-size=2KB # Minimum " |
- | } | + | server.connection-timeout= # Time that connectors wait for another HTTP request before closing the connection. When not set, the connector' |
+ | server.error.include-exception=false # Include the " | ||
+ | server.error.include-stacktrace=never # When to include a " | ||
+ | server.error.path=/ | ||
+ | server.error.whitelabel.enabled=true # Whether to enable the default error page displayed in browsers in case of a server error. | ||
+ | server.http2.enabled=false # Whether to enable HTTP/2 support, | ||
+ | server.max-http-header-size=8KB # Maximum size of the HTTP message header. | ||
+ | server.port=8080 # Server HTTP port. | ||
+ | server.server-header= # Value to use for the Server response header | ||
+ | server.use-forward-headers= # Whether X-Forwarded-* headers should be applied to the HttpRequest. | ||
+ | server.servlet.context-parameters.*= # Servlet context init parameters. | ||
+ | server.servlet.context-path= # Context path of the application. | ||
+ | server.servlet.application-display-name=application # Display name of the application. | ||
+ | server.servlet.jsp.class-name=org.apache.jasper.servlet.JspServlet # Class name of the servlet to use for JSPs. | ||
+ | server.servlet.jsp.init-parameters.*= # Init parameters used to configure the JSP servlet. | ||
+ | server.servlet.jsp.registered=true # Whether the JSP servlet is registered. | ||
+ | server.servlet.session.cookie.comment= # Comment for the session cookie. | ||
+ | server.servlet.session.cookie.domain= # Domain for the session cookie. | ||
+ | server.servlet.session.cookie.http-only= # Whether to use " | ||
+ | server.servlet.session.cookie.max-age= # Maximum age of the session cookie. If a duration suffix is not specified, seconds will be used. | ||
+ | server.servlet.session.cookie.name= # Session cookie name. | ||
+ | server.servlet.session.cookie.path= # Path of the session cookie. | ||
+ | server.servlet.session.cookie.secure= # Whether to always mark the session cookie as secure. | ||
+ | server.servlet.session.persistent=false # Whether to persist session data between restarts. | ||
+ | server.servlet.session.store-dir= # Directory used to store session data. | ||
+ | server.servlet.session.timeout=30m # Session timeout. If a duration suffix is not specified, seconds will be used. | ||
+ | server.servlet.session.tracking-modes= # Session tracking modes. | ||
+ | server.ssl.ciphers= # Supported SSL ciphers. | ||
+ | server.ssl.client-auth= # Client authentication mode. | ||
+ | server.ssl.enabled=true # Whether to enable SSL support. | ||
+ | server.ssl.enabled-protocols= # Enabled SSL protocols. | ||
+ | server.ssl.key-alias= # Alias that identifies the key in the key store. | ||
+ | server.ssl.key-password= # Password used to access the key in the key store. | ||
+ | server.ssl.key-store= # Path to the key store that holds the SSL certificate | ||
+ | server.ssl.key-store-password= # Password used to access the key store. | ||
+ | server.ssl.key-store-provider= # Provider for the key store. | ||
+ | server.ssl.key-store-type= # Type of the key store. | ||
+ | server.ssl.protocol=TLS # SSL protocol to use. | ||
+ | server.ssl.trust-store= # Trust store that holds SSL certificates. | ||
+ | server.ssl.trust-store-password= # Password used to access the trust store. | ||
+ | server.ssl.trust-store-provider= # Provider for the trust store. | ||
+ | server.ssl.trust-store-type= # Type of the trust store. | ||
+ | server.tomcat.accept-count=100 # Maximum queue length for incoming connection requests when all possible request processing threads are in use. | ||
+ | server.tomcat.accesslog.buffered=true # Whether to buffer output such that it is flushed only periodically. | ||
+ | server.tomcat.accesslog.directory=logs # Directory in which log files are created. Can be absolute or relative to the Tomcat base dir. | ||
+ | server.tomcat.accesslog.enabled=false # Enable access log. | ||
+ | server.tomcat.accesslog.file-date-format=.yyyy-MM-dd # Date format to place in the log file name. | ||
+ | server.tomcat.accesslog.pattern=common # Format pattern for access logs. | ||
+ | server.tomcat.accesslog.prefix=access_log # Log file name prefix. | ||
+ | server.tomcat.accesslog.rename-on-rotate=false # Whether to defer inclusion of the date stamp in the file name until rotate time. | ||
+ | server.tomcat.accesslog.request-attributes-enabled=false # Set request attributes for the IP address, Hostname, protocol, and port used for the request. | ||
+ | server.tomcat.accesslog.rotate=true # Whether to enable access log rotation. | ||
+ | server.tomcat.accesslog.suffix=.log # Log file name suffix. | ||
+ | server.tomcat.additional-tld-skip-patterns= # Comma-separated list of additional patterns that match jars to ignore for TLD scanning. | ||
+ | server.tomcat.background-processor-delay=10s # Delay between the invocation of backgroundProcess methods. If a duration suffix is not specified, seconds will be used. | ||
+ | server.tomcat.basedir= # Tomcat base directory. If not specified, a temporary directory is used. | ||
+ | server.tomcat.internal-proxies=10\\.\\d{1, | ||
+ | 192\\.168\\.\\d{1,3}\\.\\d{1, | ||
+ | 169\\.254\\.\\d{1, | ||
+ | 127\\.\\d{1, | ||
+ | 172\\.1[6-9]{1}\\.\\d{1, | ||
+ | 172\\.2[0-9]{1}\\.\\d{1, | ||
+ | 172\\.3[0-1]{1}\\.\\d{1, | ||
+ | 0: | ||
+ | ::1 # Regular expression that matches proxies that are to be trusted. | ||
+ | server.tomcat.max-connections=10000 # Maximum number of connections that the server accepts and processes at any given time. | ||
+ | server.tomcat.max-http-post-size=2MB # Maximum size of the HTTP post content. | ||
+ | server.tomcat.max-swallow-size=2MB # Maximum amount of request body to swallow. | ||
+ | server.tomcat.max-threads=200 # Maximum amount of worker threads. | ||
+ | server.tomcat.min-spare-threads=10 # Minimum amount of worker threads. | ||
+ | server.tomcat.port-header=X-Forwarded-Port # Name of the HTTP header used to override the original port value. | ||
+ | server.tomcat.protocol-header= # Header that holds the incoming protocol, usually named " | ||
+ | server.tomcat.protocol-header-https-value=https # Value of the protocol header indicating whether the incoming request uses SSL. | ||
+ | server.tomcat.redirect-context-root=true # Whether requests to the context root should be redirected by appending a / to the path. | ||
+ | server.tomcat.remote-ip-header= # Name of the HTTP header from which the remote IP is extracted. For instance, `X-FORWARDED-FOR`. | ||
+ | server.tomcat.resource.allow-caching=true # Whether static resource caching is permitted for this web application. | ||
+ | server.tomcat.resource.cache-ttl= # Time-to-live of the static resource cache. | ||
+ | server.tomcat.uri-encoding=UTF-8 # Character encoding to use to decode the URI. | ||
+ | server.tomcat.use-relative-redirects= # Whether HTTP 1.1 and later location headers generated by a call to sendRedirect will use relative or absolute redirects. | ||
</ | </ | ||
- | 위와 같이 설정하고, | ||
- | |||
- | <code sh> | ||
- | ./gradlew bootRun -Pargs=param1, | ||
- | </ | ||
===== 참고 ===== | ===== 참고 ===== | ||
* [[http:// | * [[http:// |