스프링이 정적 변수를 주입 할 수없는 이유는 다음과 같습니다. 특정 세부 사항은 다음과 같습니다.
스프링 의존성 주입은 종속성 세트 방법입니다
설정 메소드는 일반적인 객체 메소드입니다
정적 변수는 클래스의 속성입니다
@autowired 개인 정적 JDBCTEMPLATE jdbctemplate;
이 주입 과정을 살펴보면 오류가 없지만 다음 jdbctemplate.query ()는 널 포인터 오류를보고합니다.
추신 : 스프링은 정적 변수를 주입합니다
오늘 나는 문제가 발생했습니다. 내 도구 클래스 중 하나는 몇 가지 정적 방법을 제공합니다. 정적 메소드에는 처리를 제공하기 위해 다른 클래스 인스턴스가 필요 하므로이 코드를 작성했습니다.
클래스 util {private static xxx xxx; xxx = beanutil.getbean ( "xxx"); public static void method () {xxx.func (); } public static void method () {xxx.func (); }}다음은 GetBean을 사용하여 XXX 인스턴스를 얻는 방법이 있지만 다른 사람들은이 방법이 좋지 않으며 주입하고 싶다고 말합니다.
그러나 정적 xxx를 주입하는 방법은 무엇입니까?
온라인으로 많은 진술을 검색했지만 실제로는 매우 간단했습니다.
클래스 util {private static xxx xxx; public void setxxx (xxx xxx) {this.xxx = xxx; } public void getxxx () {return xxx; } public static void method1 () {xxx.func1 (); } public static void method2 () {xxx.func2 (); }}XML에서 주입을 정상적으로 구성하십시오.
<bean value = "test"> <속성 값 = "xxx"ref = "xxx"/> </bean>
여기서 자동으로 생성 된 getter 및 setter 메소드에는 정적 예선이 있으며 수행하기 전에 제거해야합니다.