일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- gradle
- Java
- nginx
- jetbrains
- Windows
- MySQL
- dbeaver
- gson
- BPMN
- nodejs
- mybatis
- JavaScript
- Kubernetes
- log4j2
- tibero
- VSCode
- IntelliJ
- react
- NCP
- docker
- springboot
- intellijIDEA
- useEffect
- JPA
- database
- wildfly
- LOG4J
- Git
- Spring
- kubectl
- Today
- Total
목록springboot (8)
두 손끝의 창조자
스프링부트로 프로젝트 수행 도중 타입 체크 (isAssignableFrom) 부분에서 문제가 발생했다. 특정 클래스의 오브젝트를 인자로 리플렉션으로 메소드를 실행하려고 하는데 메소드의 파라미터 타입과 클래스의 오브젝트 타입이 달라서 실행이 안되는 문제가 발생했다. 디버깅 해본 결과 분명 타입은 같은 타입이었다. 허나 다른 부분은 클래스로더였다. 하나는 RestartClassLoader 다른 하나는 AppclassLoader 였다. 클래스 로더가 다르면 둘의 타입은 다르다고 인식할 수 있기 때문에 가장 의심스러운 부분이었다. RestartClassLoader는 스프링부트의 spring-boot-devtools 를 사용하면 추가되는 클래스로더이다. spring-boot-devtools를 제거하고 나니 잘 수..
Spring Boot 애플리케이션에서 로그 레벨을 동적으로 설정하는 방법에 대해 살펴본다. Spring Boot Actuator 소개 Spring Boot Actuator는 Spring Boot의 하위 프로젝트로서 애플리케이션의 관리와 모니터링에 필요한 다양한 기능을 제공한다. 이를 통해 애플리케이션의 상태, 메트릭스, 그리고 여기서 다룰 내용인 로깅과 같은 중요한 정보를 제공한다. 로그 레벨 확인하기 로그 레벨을 확인하려면 /actuator/loggers 엔드포인트로 GET 요청을 보내면 된다. curl -X GET http://localhost:8080/actuator/loggers 응답 형태 { "levels": ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FAT..
프로젝트에 루트에서 다음과 같은 파일을 찾아서 초기화 시 실행한다. schema.sql data.sql schema-${platform}.sql data-${platform}.sql ${platform} 은 spring.datasource.platform 의 값을 사용한다. spring.datasource.initialization-mode 속성을 always 로 설정한다. JPA를 사용한다면 spring.jpa.hibernate.ddl-auto 속성을 none으로 해야 테이블 자동 생성등을 비활성한다. 이런 방법은 sql이 DATABASE에 따라 변경이 필요할 수 있다. @PostConstruct 애노테이션으로 메소드를 지정하면 스프링 컨텍스트가 모두 로드 된 후 해당 메소드를 실행하기 때문에 데이터 ..
spring boot 를 사용하면 application.properties 에 속성을 설정하여 @Value 애노테이션으로 참고하여 사용할 수 있다. 인텔리제이 유료버전에서는 속성값 검증이 어느정도 되는데 프로퍼티 작성시에 자동 완성 기능이 동작하지는 않는다. 속성에 대한 구조, 항목을 클래스로 정의하고 appication.properies 에 정의할 때 자동 완성 기능을 할 수 있도록 해보자. spring-boot-configuration-processor 추가 annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' 프로퍼티 클래스 정의 @ConfigurationProperties(prefix = ..
기본값으로 포함되어 있는 logging 모듈을 제외시킨다. configurations { configureEach { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' } } log4j2 SpringBootStart를 의존성에 추가한다. implementation 'org.springframework.boot:spring-boot-starter-log4j2'
특정 컨텍스트에서 새 오브젝트로 데이터를 바인드 시키려면 ObjectMapper 같은 라이브러리를 활용하면 편리하다. 스프링 부트에는 이 기능을 제공하는데 org.springframework.boot.context.properties.bind.Binder 클래스가 그 역할을 수행한다.
org.springframework.boot.context.annotation.ImportCandidates /* * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in w..
[Spring Boot]war로 배포하기 (Gradle + 내/외장 톰캣) (tistory.com)