본문으로 바로가기

java static이란? 사용 방법 내가 사용한 곳

category Language/JAVA 2019.04.09 12:54

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 변수에 접근 하려면 이렇게 해야 한다.


댓글을 달아 주세요