Spring使っていて、staticなフィールドにDIしたい場合がありまして、Repositoryをどこからでもstaticで参照したいとか・・
で、調べてみると、以下でできました。
@Component public class StaticRepository { private static Repository repository; public static Repository getRepository() { return repository; } @Autowired(required=true) public void setRepository(Repository repository) { StaticRepository.repository = repository; } }
setterメソッドにAutowiredアノテーション付けて、フィールドとgetterはstaticにする。でもこれってアリ?なのか??