property에 있는 값을 @Value를 사용하여 멤버 변수에 값을 Injection하여 자주 사용을 합니다. 이때 static 멤버에 Injection을 하려고 하면 되지가 않습니다. String 변수를 예로 들면, null로 되어있습니다. 이유는 Spring에서 @Value 가 static field에 대해 지원하지 않기 때문입니다. public class Inject { @Value("${file.path}") private static String PATH; // null } static 변수에 Injection을 하려면, 아래와 같이 setter injection으로 값을 할당할 수 있습니다. public class Inject { private static String PATH; @Value..
static 은 객체가 아닌 클래스에 할당이 됩니다. 그래서 A 클래스에 여러 객체가 생성되어도 static 은 같은 메모리를 참조하고 있습니다. static 은 클래스가 최초 로딩될 때 수행 되며, static 초기화 블록은 순차적으로 읽혀집니다. 이를 바탕으로 아래 예제를 살펴봅시다. public class Main { static private String val = "Hello"; static { val = "static block"; } public static void main(String[] args) { System.out.println(val); } static { val = "static block2"; } } 결과 static block2 Static 사용 static 을 어떻게 잘...
- Total
- Today
- Yesterday
- Size
- scala
- elasticsearch
- maven
- spring boot
- Filter
- gradle
- intellij
- Kibana
- SpringBoot
- logstash
- plugin
- JPA
- Spark
- Container
- tomcat
- Java
- Log
- Postman
- mac
- apm
- spring
- error
- JSON
- Linux
- Git
- AWS
- docker
- install
- Index
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |