У меня есть другая перспектива ответить на это.
При работе на разных уровнях, например, в приложении MVC, контроллеру нужны службы для вызова бизнес-операций. В таких сценариях контейнер инжекции зависимостей может использоваться для инициализации служб, чтобы исключить исключение NullReferenceException. Это означает, что вам не нужно беспокоиться о проверке нулевого значения и просто вызвать службы с контроллера, как будто они всегда будут доступны (и инициализированы) как одиночный или прототип.
public class MyController
{
private ServiceA serviceA;
private ServiceB serviceB;
public MyController(ServiceA serviceA, ServiceB serviceB)
{
this.serviceA = serviceA;
this.serviceB = serviceB;
}
public void MyMethod()
{
// We don't need to check null because the dependency injection container
// injects it, provided you took care of bootstrapping it.
var someObject = serviceA.DoThis();
}
}
Очевидно, почему вы хотите отключить это: Чтобы заставить IntelliJ включать каждый импорт отдельно. Это облегчает для людей, чтобы выяснить, где именно используются классы.
Нажмите на значок «Настройки гаечного ключа» на панели инструментов, откройте «Импорт» в «Стиль кода» и проверьте выбор «Использовать один класс импорта». Вы также можете полностью удалить записи в разделе «Пакеты для использования импорта с *
» или указать пороговое значение, которое использует только «*
», если отдельные классы из пакета превышают этот порог.
Обновление: в IDEA 13 «Использовать импорт одного класса» не предотвращает импорт подстановочных знаков. Решение состоит в том, чтобы перейти к Preferences
(⌘ +, на macOS / Ctrl + Alt + S в Windows) > Editor > Code Style > Java > Imports tab
установить Class count to use import with '*'
и Names count to use static import with '*'
на более высокое значение. Любое значение более 99, кажется, работает нормально.
Если вы не хотите изменять настройки, вы можете оптимизировать импорт, нажав Ctrl + Option + o на Mac или Ctrl + Alt + o в Windows / Linux, и это заменит все импорты с помощью одного импорта в текущем файле.
Если вы не работаете выше, вы можете проверить, есть ли у вас какие-либо пакеты в разделе «Предпочтение»> «Редактор»> «Стиль кода»> «Java»> «Импорт»> «Пакеты для импорта» с «*»
Как dum-dum, я не мог понять, почему ни один из этих ответов не работал на мои файлы Kotlin для java.util.*
, поэтому, если это происходит с вами, тогда:
Preferences
> Editor
> Code Style
> **Kotlin**
> Imports
> Packages to Use Import with '*'
-> Remove 'java.util.*'
После этого ваша конфигурация должна выглядеть так: [/g0]
(On IntelliJ IDEA 13.x, 14.x, 15.x, 2016.x, 2017.x)
Ярлык делает это на Mac: нажмите команду + Shift + A (Действие) и введите «кол-во классов для использования импорта с *». Нажмите «Ввод». Введите большее число, например 999
Решение выше не работало для меня. Я должен был установить значение класса для использования импорта с '*' 'с высоким значением, например. 999.