컴퓨터 관련/Java 정보
Spring Context 에 있는 Bean 으로 static field 주입
보뇨
2021. 4. 24. 11:58
반응형
예전에 회사 작업하다가 공통으로 다루고있던 objectMapper
, restTemplate
등이 있었는데
유틸클래스를 사용하기위해서 주입시켜야할때가 있었다
그땐 그냥 클래스쪽에 new 로 생성하고나서 안봤는데..사실 그 방법이 비용적인 측면에서 안좋다고했지만
기능상 문제가 없었기때문에..신경을 안쓴것도 있다
무튼 인터넷에 검색해보니 방법이 딱 2개 나오는데 매우 단순해서 그김에 포스팅할겸 올린다
원래 final
로 선언하고싶은데 그 방법이 통하지않는다..ㅠ
- 생성자 주입
@Component
public class Boo {
private static Foo foo;
@Autowired
public Boo(Foo foo) {
Boo.foo = foo;
}
public static void randomMethod() {
foo.doStuff();
}
}
- PostConstruct 사용
@Component
public class Boo {
private static Foo foo;
@Autowired
private Foo tFoo;
@PostConstruct
public void init() {
Boo.foo = foo;
}
public static void randomMethod() {
foo.doStuff();
}
}
출처
반응형