powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / что не так с @Inject
15 сообщений из 15, страница 1 из 1
что не так с @Inject
    #39699321
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно вопрос:
реализован тестовый бин

Код: java
1.
2.
3.
4.
5.
@Stateless
public class MyBEAN implements MyBeanInterface {
    @PersistenceContext(unitName = "myUnit")
    private EntityManager entityManager;
...



есть некий сервлет
который работает
Код: java
1.
2.
3.
4.
5.
6.
7.
@WebServlet(name = "S", urlPatterns = "/s")
public class S extends HttpServlet {
    @Inject
    private MyBeanInterface mbi;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Amount datas>>>>>"+mbi.findLast24H().size());
    }



есть обычный класс на котором не работает
тут получаю нул
Код: java
1.
2.
3.
4.
5.
6.
7.
public class StChart {
    @Inject
    private MyBeanInterface mbi;

    public void sendChartWithStart() {
        System.out.println("MyBeanInterface StChart>> " + mbi);
    }




что не так?
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699330
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычный класс - не бин, контейнером не управляется. Dependency Injection контейнер о нём ничего не знает. Нужно сделать так чтобы контейнер знал про этот класс.
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699336
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

а что для этого требуется? аннотация в классе?
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699349
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффара что для этого требуется? аннотация в классе?
Зачем использовать то что вы не понимаете?
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699357
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

конечно извините что задал такой нубский вопрос...

авторЗачем использовать то что вы не понимаете?
З.Ы. чтоб знать.


следовательно другой вопрос зачем ребенок начинает ходит если он на тот момент не знает как?
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699359
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарзачем ребенок начинает ходит если он на тот момент не знает как?
Ребёнок и инженер, в принципе, одно и то же?
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699368
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

конечно нет,
я привел пример чтоб сказать никто не рождается со знанием... и узнает все что нужное благодаря другим и т.д.

З.Ы. че то начали по философствовать ))))

З.Ы. может подскажете ту аннотацию? а то че то не нахожу или ищу не там где надо)...
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699511
cossack5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
Чтобы поместить класс в контейнер (сделать его бином), нужно следовать правилам того контейнера, который используете (spring, guice, picocontainer, java ee, и т.д.): в спринге, например есть context:component-scan с указанием package, который помещает все классы в том package в контейнер, в других контейнерах тоже обычно так можно.
Если автоскан не нужен или не работает, есть ряд аннотаций: @Component/@Service/@Repository в спринге, @Stateless/@Stateful/@WebServlet/@WebService/@ManagedBean и т.д. в Java EE (можете загуглить - в чем отличие). В спринге так же можно нужные классы регистрировать в context.xml. EJB-бины можно прописывать в vendor-specific way (например, в jboss'e - jboss-ejb3.xml).
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699514
cossack5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного не то сказал: в сприге нужно одновременно указать component-scan и добавить аннотацию @Component.
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699838
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробовал всякие варианты...

ни добавление к классу аннотаций @Named @RequestScoped

ни
Код: java
1.
2.
InitialContext ctx = new InitialContext();
MyBEAN mbi = (MyBEAN) ctx.lookup("myBean");



ни
Код: java
1.
@EJB(beanName = "MyBEAN")



и т.д. не помогли пока что...
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699844
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, спасибо!
авторНужно сделать так чтобы контейнер знал про этот класс
с лукапом работает оказывается я не совсем правильно делал...
Код: java
1.
2.
InitialContext ctx = new InitialContext();
        MyBeanInterface mbi = (MyBeanInterface) ctx.lookup("java:module/myBean");



как это ещё можно сделать кроме как лукапа?
...
Рейтинг: 0 / 0
что не так с @Inject
    #39699867
cossack5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
Попробуйте @EJB(lookup="your url")
...
Рейтинг: 0 / 0
что не так с @Inject
    #39701422
sergpank
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Спринге чтобы @Inject сработало нужно добавить классу @Component или @Service.
Вам тоже нужно как-то пометить свой класс.
...
Рейтинг: 0 / 0
что не так с @Inject
    #39701697
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты класс инстанциируешь сам, как я понимаю, оператором new, контейнер этим классом не управляет и инъектить туда, само собой, не будет.
...
Рейтинг: 0 / 0
что не так с @Inject
    #39701756
cossack5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettТы класс инстанциируешь сам, как я понимаю, оператором new, контейнер этим классом не управляет и инъектить туда, само собой, не будет.
В спринге можно юзать @Configurable (CTW или LTW).
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / что не так с @Inject
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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