Непонимание @Autowired
От: Аноним  
Дата: 31.03.11 13:28
Оценка:
Здравствуйте!
Помогите разобраться в вопросе:

Есть
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="mail.ru"/>
<property name="username" value="name@mail.ru"/>
<property name="password" value="pwd"/>
</bean>

и есть

@Autowired
public void setMailSender(MailSender mailSender) {
}


Вываливается ошибка, говорящая о том что не может сделать инжект
Re: Непонимание @Autowired
От: Курилка Россия http://kirya.narod.ru/
Дата: 31.03.11 13:32
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вываливается ошибка, говорящая о том что не может сделать инжект


Оно ещё должно писать почему, не покажешь?
Re: Непонимание @Autowired
От: Blazkowicz Россия  
Дата: 31.03.11 13:35
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вываливается ошибка, говорящая о том что не может сделать инжект


message и stack trace в студию!
Re: Непонимание @Autowired
От: Аноним  
Дата: 31.03.11 13:48
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте!

А>Помогите разобраться в вопросе:

А>Есть

А><bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
А> <property name="host" value="mail.hrs.ru"/>
А> <property name="username" value="dkononenko@hrs.ru"/>
А> <property name="password" value="Z9cv812bms"/>
А></bean>

А>и есть


А>
А>@Autowired
А>public void setMailSender(MailSender mailSender) {
А>}
А>


А>Вываливается ошибка, говорящая о том что не может сделать инжект


ERROR: org.springframework.web.servlet.DispatcherServlet — Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardInfo': Injection of autowire
d dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire m
ethod: public void ru.hrs.lassd.club.controller.CardInfo.setMailSender(org.springframework.mail.MailSender); nested exce
ption is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.springframework.
mail.MailSender] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependenc
y. Dependency annotations: {}
Re[2]: Непонимание @Autowired
От: Blazkowicz Россия  
Дата: 31.03.11 13:54
Оценка:
Здравствуйте, Аноним, Вы писали:

Ну вот же оно:

NoSuchBeanDefinitionException: No matching bean of type [org.springframework.mail.MailSender]


Читаем мануал:
3.11.3. Fine-tuning annotation-based autowiring with qualifiers
http://static.springsource.org/spring/docs/2.5.x/reference/beans.html#beans-autowired-annotation
Re: Непонимание @Autowired
От: octo47  
Дата: 31.03.11 14:36
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте!

А>Помогите разобраться в вопросе:

А>
А>@Autowired
А>public void setMailSender(MailSender mailSender) {
А>}
А>


А>Вываливается ошибка, говорящая о том что не может сделать инжект


Если это все происходит в spring-mvc, то попробуй @Resource вместо @Autowired.
@Controller очень чувствителен к тому, какой бин инжектишь.
Re[2]: Непонимание @Autowired
От: toxin Россия  
Дата: 01.04.11 07:52
Оценка:
Здравствуйте, octo47, Вы писали:

O>Если это все происходит в spring-mvc, то попробуй @Resource вместо @Autowired.

O>@Controller очень чувствителен к тому, какой бин инжектишь.

Можно с этого момента поподробнее?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re: Непонимание @Autowired
От: toxin Россия  
Дата: 01.04.11 08:06
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте!

А>Помогите разобраться в вопросе:

А>Есть

А><bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
А> <property name="host" value="mail.ru"/>
А> <property name="username" value="name@mail.ru"/>
А> <property name="password" value="pwd"/>
А></bean>

А>и есть


А>
А>@Autowired
А>public void setMailSender(MailSender mailSender) {
А>}
А>


А>Вываливается ошибка, говорящая о том что не может сделать инжект


Проверил. В 3.0.5 данная конструкция вполне работоспособна. могу предположить что "mailSender" определен в другом контексте, отличном от того где определен "cardinfo"

Вот конфиг с которым тестировал:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:component-scan base-package="org.example"/>

    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="mail.ru" />
        <property name="username" value="name@mail.ru" />
        <property name="password" value="pwd" />
    </bean>
</beans>
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[3]: Непонимание @Autowired
От: octo47  
Дата: 01.04.11 08:41
Оценка:
Здравствуйте, toxin, Вы писали:

T>Здравствуйте, octo47, Вы писали:


O>>Если это все происходит в spring-mvc, то попробуй @Resource вместо @Autowired.

O>>@Controller очень чувствителен к тому, какой бин инжектишь.

T>Можно с этого момента поподробнее?


С ходу описание не нашел. (но находил, когда была такая проблема).
Если получится — попробую воспроизвести случай, когда Resource работает,
а Autowired — нет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.