티스토리 뷰

개요

Static은 스테틱 변수 메소드 앞에 붙일 수 있다. static을 쓰면 jvm이 실행될 때 한번 불러옵니다.
내가 이걸 왜 쓰냐면 aws 람다를 쓰는데 여기에서 파일을 불러와서 무언가 설정을 하고싶기 때문에 사용을 했습니다.
이 설정은 자주 바뀌는 것은 아니지만 호출은 자주 됩니다.
java의 constants 변수 처럼 쓰고 싶지만 파일을 변경해서 설정을 적용하고 싶기 때문입니다.
나중에 이 부분을 redis 등 cache와 연동하고 싶기 때문에 중간 단계를 만드는 작업입니다.

프로젝트 구조는 위와 같이 src/main/java, src/main/resources 이렇게 되어있고

resources에 hello.properties가 들어있습니다.

hello.properties

name = kyeongrok
setting = {"hello":"world"}

hello.properties를 static method를 이용해 불러오고 싶을때 아래와 같이 씁니다.

import java.io.IOException;
import java.util.ResourceBundle;

public class StaticExample {

    public static void getProperties() throws IOException {
        String name = ResourceBundle.getBundle("hello").getString("name");
        System.out.println(name);
    }

    public static void main(String[] args) throws IOException {
        getProperties();
    }
}

결과
kyeongrok

 

static{ } 블록 사용하는 방법

private static ImmutableSet<String> ALLOWED_USER_IDS;
static {
   ALLOWED_USER_IDS = ImmutableSet.of("id");
}

static 변수에 접근 하려면 이렇게 해야 합니다.

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함