powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / IoC inject + static context
10 сообщений из 10, страница 1 из 1
IoC inject + static context
    #37678807
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно я не до конца понимаю смысл IoC, но вот возник вопрос.

Есть допустим у меня какие-то сервисы, которые могут "инъектироваться"....

Хочется сделать класс , который бы имел статические методы для вызова инъектированных сервисов ( или их методов )

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
class SomeClass {
    @Inject
    private static SomeServiceOne someServiceOne ;

    public static SomeServiceOne getSomeServiceOne() { 
        return someServiceOne;
    }

    @Inject 
    private static SomeServiceTwo someServiceTwo;
    
    public static SomeServiceTwo getSomeServiceTwo() { 
        return someServiceTwo;
    }

    @Inject 
    private static AnotherSomeServiceTwo anotherSomeServiceTwo;
    
    public static void executeSomethingFromAnotherSomeServiceTwo() { 
        anotherSomeServiceTwo.invokeSomeMethod();
    }
}



Вопрос в том, - делают ли так адекватные разработчики? Является ли это нормальным?

Если нет, то как можно по-другому получить такой функционал? )
...
Рейтинг: 0 / 0
IoC inject + static context
    #37678921
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks,
а какой смысл в статической инъекции?
Статика, на то она и статика - что постоянна.
imho
...
Рейтинг: 0 / 0
IoC inject + static context
    #37678962
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

я не очень понял что вы хотели сказать...
...
Рейтинг: 0 / 0
IoC inject + static context
    #37678968
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks,
дак ты объясни конечную цель.
И чернил не жалей.
Т.к. абстракно:
- допустим есть.... хочется сделать...
Это конь в вакууме, либо контрольная.
IMHO
...
Рейтинг: 0 / 0
IoC inject + static context
    #37679150
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Конечная цель это узнать почему static injection это глупость )
...
Рейтинг: 0 / 0
IoC inject + static context
    #37679225
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksPetro123,
Конечная цель это узнать почему static injection это глупость )
нету глупости абстрактной - она всегда конкретна (с)
Если абстрактно сферического коня, то можно.
Т.к. Ioc\DI просто подменяет переменную для ленивого программиста.
Если конкрено, то там 999 вариантов:
- вообще убрать DI (фабрика\синглетон\...)
-
Код: java
1.
2.
public class HibernateUtil {
	private static SessionFactory factory;



- выделить несколько статических в статический IoC класс целиком
- ..
IMHO
______________________________________________
"Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
IoC inject + static context
    #37679247
drsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks, глупость потому что, инжектят в _объект_.
и инжектят не с целью сохранить где-то кучку глобальных переменных, как ты пытаешся сделать,
а для того, чтобы объект, в который инжектят, обрел внутреннее состояние и стал работоспособным.

чтобы сделать типа статик есть:
http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-factory-scopes
...
Рейтинг: 0 / 0
IoC inject + static context
    #37679279
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drsmи инжектят не с целью сохранить где-то кучку глобальных переменных, как ты пытаешся сделать,
а для того, чтобы объект, в который инжектят, обрел внутреннее состояние и стал работоспособным.
- с одной стороны, можно сказать, что сначала в ЯП убрали возможность Глобальных, а потом - вводили DI для их создания через левое правое ухо.
- с другой стороны, почему вы решили, что DI против инжекции глобального DAO\Connection\Logging\...?
Т.е. абстрактно - кто\что мешает?
...
Рейтинг: 0 / 0
IoC inject + static context
    #37679479
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaks,

лишь бы скоуп у них не прототайт был ;))
...
Рейтинг: 0 / 0
IoC inject + static context
    #37679489
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drsmscymaks, глупость потому что, инжектят в _объект_.
и инжектят не с целью сохранить где-то кучку глобальных переменных, как ты пытаешся сделать,
а для того, чтобы объект, в который инжектят, обрел внутреннее состояние и стал работоспособным.

чтобы сделать типа статик есть:
http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-factory-scopes

Ну фабрику так вполне удобно делать, какую нить thread-safe .слегка иначе get конечно делать. Насколько я понимаю многие классы в том же спринге так и сделаны.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / IoC inject + static context
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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