powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Подскажите с @injection
6 сообщений из 6, страница 1 из 1
Подскажите с @injection
    #38986528
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, подскажите, как подключить с помощью данной аннотации класс и создать переменную. В просторах Интернета нашел, что
авторсоздавать объекты через new в общем случае нельзя

То есть, как я понимаю, нельзя создавать типа
Код: java
1.
Class class = new Class();



Нужно сделать что-то типа:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class MainClass {
    private final MyClass myClass;

    public MainClass(){
	this(null);
    }
 
    @Inject
    public MainClass(MyClass myClass) {
        this.myClass = myClass;
    }
    
    public static int getCount(){
        return myClass..getValue();
    }

}



Как в данном случае использовать методы myClass (myClass.getValue()) в локальном статическом методе getCount()?
...
Рейтинг: 0 / 0
Подскажите с @injection
    #38986543
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Набор слов какой-то.
Что такое "подключить класс"?
При чем тут Class class = new Class() вообще?
Инъекции оперируют экземплярами объектов.

"создавать объекты через new в общем случае нельзя" - можно, но нужно говорить контейнеру чтобы он проинжектил все зависимости. Поэтому не "нельзя", а не желательно.

Вопрос надо задавать не про аннотацию, а про Dependency Injection framework, который эту аннотацию обслуживает. Сама по себе аннотация это только маркер. Она ничего не делает.
...
Рейтинг: 0 / 0
Подскажите с @injection
    #38986638
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В чем суть...для использования методов класс MyClass в классе MainClass я использовал конструкцию

MyClass myclass = new MyClass();

и уже после этого методы myclass.getCount();

Сказали, что нужно использовать через @injection. Но по той структуре, которая описана постом выше, с статических методах НЕ статическую переменную использовать нельзя (IDE ругается).

Поэтому хотел узнать, как используя аннотацию @injection и без MyClass myclass = new MyClass(); можно в статических методах внутри класс использовать методы другого класса MyClass.

Как бы так.
...
Рейтинг: 0 / 0
Подскажите с @injection
    #38986654
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipВ чем суть...для использования методов класс MyClass в классе MainClass я использовал конструкцию

MyClass myclass = new MyClass();

и уже после этого методы myclass.getCount();

Сказали, что нужно использовать через @injection. Но по той структуре, которая описана постом выше, с статических методах НЕ статическую переменную использовать нельзя (IDE ругается).

Поэтому хотел узнать, как используя аннотацию @injection и без MyClass myclass = new MyClass(); можно в статических методах внутри класс использовать методы другого класса MyClass.

Как бы так.

Вместо статических методов стоит использовать синглтоны.
...
Рейтинг: 0 / 0
Подскажите с @injection
    #38986687
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не сложно будет небольшой примерчик кинуть?
Как это:

Код: java
1.
2.
3.
public static int getResult(String origString, String symbol){
    return 0;
}



под синглтон переделать?
...
Рейтинг: 0 / 0
Подскажите с @injection
    #38986709
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,

Убрать слово static.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Подскажите с @injection
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]