Вот причина, по которой пружина не может вводить статические переменные. Конкретные детали следующие:
Инъекция зависимостей пружины является методом набора зависимостей
Метод установки - это метод нормального объекта
Статические переменные - это атрибуты классов
@Autowired Private Static jdbctemplate jdbctemplate;
Просто посмотрите на этот процесс впрыска, нет ошибки, но в следующем jdbctemplate.query () сообщит об ошибке нулевого указателя.
PS: пружина вводит статические переменные
Сегодня я столкнулся с проблемой. Один из моих классов инструментов предоставляет несколько статических методов. Статические методы требуют другого экземпляра класса для обеспечения обработки, поэтому я написал этот код:
Класс util {private static xxx xxx; xxx = beanatil.getbean ("xxx"); public static void method () {xxx.func (); } public static void method () {xxx.func (); }}Вот способ использовать GetBean, чтобы получить экземпляр 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"> <value = "xxx" ref = "xxx"/> </bean>
Обратите внимание, что автоматически сгенерированные методы Getter и Setter будут иметь статические квалификаторы и должны быть удалены, прежде чем их можно будет сделать.