powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Не может найти бин
25 сообщений из 29, страница 1 из 2
Spring Не может найти бин
    #39646291
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заманался уже. Никак не могу понять почему не находит бин.

Есть такой сервис (Этот сервис вставляется в контроллер):

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
@Service
public class ApplicationMailer {

    @Autowired
    private JavaMailSender mailSender;

    public ApplicationMailer() {}

    public void sendMail(String to, String subject, String body) {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setTo(to);
        message.setSubject(subject);
        message.setText(body);
        mailSender.send(message);
    }

    public void sendHtml(String to, String subject, String body) throws MessagingException {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, false, "utf-8");
        mimeMessage.setContent(body, "text/html");
        helper.setTo(to);
        helper.setSubject(subject);
        mailSender.send(mimeMessage);
    }

}



Есть 3 .xml конфигурации:

MVC

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<?xml version="1.0" encoding="UTF-8"?>
<beans ...>

    <context:annotation-config />

    <mvc:annotation-driven />

    <tx:annotation-driven/>

    <context:component-scan base-package="com.site" />

    <mvc:resources mapping="/resources/**" location="/WEB-INF/resources/" />

    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

    <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>

</beans>



MAIL

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<?xml version="1.0" encoding="UTF-8"?>
<beans ...>

    <context:property-placeholder location="classpath:/mail/gmail.com.properties" ignore-unresolvable="true" />

    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="javaMailProperties">
            <props>
                <prop key="mail.debug">true</prop>
                <prop key="mail.smtps.auth">${mail.smtps.auth}</prop>
            </props>
        </property>
        <property name="host" value="${mail.host}" />
        <property name="port" value="${mail.port}" />
        <property name="username" value="${mail.username}" />
        <property name="password" value="${mail.password}" />
        <property name="protocol" value="${mail.protocol}" />
    </bean>

    <!-- Шаблон письма -->
    <bean id="templateMessage" class="org.springframework.mail.SimpleMailMessage">
        <property name="from" value="${mail.from}" />
        <property name="subject" value="Mail subject" />
    </bean>

</beans>



DB

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
<?xml version="1.0" encoding="UTF-8"?>
<beans ...>

    <context:annotation-config />
    <context:component-scan base-package="com.site.dao" />

    <context:component-scan base-package="com.site.service" />

    <tx:annotation-driven transaction-manager="transactionManager" />

    <context:property-placeholder location="classpath:db/mysql.properties" system-properties-mode="OVERRIDE"/>

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="${database.url}" />
        <property name="username" value="${database.username}" />
        <property name="password" value="${database.password}" />
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
          p:packagesToScan="com.linkedcrm.entity" p:dataSource-ref="dataSource">
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
        </property>
        <property name="jpaProperties">
            <props>

                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>

                <prop key="hibernate.show_sql">true</prop>

                <prop key="hibernate.initDB">true</prop>

                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">create</prop>

                <prop key="logging.level.org.hibernate.SQL">DEBUG</prop>
                <prop key="logging.level.org.hibernate.type">TRACE</prop>

            </props>
        </property>
    </bean>

    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

</beans>
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646294
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При запуске выдает такое:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'applicationMailer': Unsatisfied dependency expressed through field 'mailSender'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.mail.javamail.JavaMailSender' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

При чем если я уберу сервис и перенесу

Код: java
1.
2.
@Autowired
private JavaMailSender mailSender;



В сам контроллер то тоже будет ошибка.

Хотя в xml файле я бин прописал.

Что не так?
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646306
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А 3 XML конфига это один контекст или 3 разных?
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646308
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczА 3 XML конфига это один контекст или 3 разных?
Вот настройка в IDEA
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646320
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopЗаманался уже.откуда у тебя EJB появился?
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646321
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123TsyklopЗаманался уже.откуда у тебя EJB появился?
В смысле?
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646324
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,
Ну понятие bin из ejb.
Без этого есть только сущности и POJO.
Может ты не туда забрел?
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646327
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Tsyklop,
Ну понятие bin из ejb.
Без этого есть только сущности и POJO.
Может ты не туда забрел?

Имею в виду bean из спринга.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646329
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopИмею в виду bean из спринга.
Ждем профи с советом - есть ли спринг без бина и попроще.
От хибер API ты отказался, а сразу спринг орм и бины боюсь многовато)
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646330
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123TsyklopИмею в виду bean из спринга.
Ждем профи с советом - есть ли спринг без бина и попроще.
От хибер API ты отказался, а сразу спринг орм и бины боюсь многовато)
??????????

почему отказался? откуда такая инфа?

Я как бы начал изучать спринг и хибер и на данный момент сейчас в проекте стоит хибер.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646331
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IntelliJ IDEA это среда разработки, а не исполнения. Как Spring находит ваши XML и как он создаёт контексты вы знаете?
Зачем вы вообще XML используете если можно на аннотациях или на Java конфиге?
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646333
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczIntelliJ IDEA это среда разработки, а не исполнения. Как Spring находит ваши XML и как он создаёт контексты вы знаете?
Зачем вы вообще XML используете если можно на аннотациях или на Java конфиге?

Да мне бы на xml попробовать что это такое. Аннотации и так стоят в некоторых местах.

На счет моей проблемы - я внутри сервиса разместил bean для javaMailSender и все заработало.
Но вот почему-то у меня есть сомнения что это правильно.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646334
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczIntelliJ IDEA это среда разработки, а не исполнения. Как Spring находит ваши XML и как он создаёт контексты вы знаете?

Ну. Мы указываем спрингу xml файлы. Он их парсит и потом делает нужные операции. После xml парсит аннотации.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646335
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopпочему отказался? откуда такая инфа? тогда сделай за неделю проект без спринга на хибере.
А потом уже спринг JPA.
Иначе каша голове будет.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646336
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Tsyklopпочему отказался? откуда такая инфа? тогда сделай за неделю проект без спринга на хибере.
А потом уже спринг JPA.
Иначе каша голове будет.

я не делаю тот проект, а другой - для обучения.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646338
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как спрингу понять, что JavaMailSenderImpl можно использовать в качестве имплементации JavaMailSender ?
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646339
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopпочему отказался? откуда такая инфа?
Из твоего топика.
21406817
Там пример без спринга.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646343
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Tsyklopпочему отказался? откуда такая инфа?
Из твоего топика.
21406817
Там пример без спринга.
Этот тот самый обучающий проект. там есть спринг
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646344
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HettА как спрингу понять, что JavaMailSenderImpl можно использовать в качестве имплементации JavaMailSender ?

JavaMailSenderImpl имплементирует JavaMailSender.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646346
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopЭтот тот самый обучающий проект. там есть спринга нужно было делать spring JPA без бинов)).
Круто взял. Удачи!
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646349
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123а нужно было делать spring JPA без бинов)).Круто взял. Удачи!

Что лучше хибер или spring jpa?
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646351
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopPetro123а нужно было делать spring JPA без бинов)).Круто взял. Удачи!

Что лучше хибер или spring jpa?
Ни что не лучше.
Hibernate и EclipseLink это конечные реализации ORM.
JPA это JEE API для ORM через который можно работать как с Hibernate так и с EclipseLink и другими реализациями.
Spring Data это удобная обертка над JPA. Чтобы было удобно пользоваться.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646353
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopЧто лучше хибер или spring jpa?
Главное преимущество JPA это подмена базы или хибера на link)))
Но в жизни это фантазии.
Поэтому я против jpa.
Изучай оба, но начни без спринга.
Такое imho.
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646354
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopЧто лучше хибер или spring jpa?и правильнее будет
Хибер api или ....
Т.к. под спринг JPA все равно хибер))))
...
Рейтинг: 0 / 0
Spring Не может найти бин
    #39646584
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopPetro123а нужно было делать spring JPA без бинов)).Круто взял. Удачи!

Что лучше хибер или spring jpa?

Что то х**, что это х**. (с) не мой

ИМХО
Пока хватает spring-data-jpa можно использовать его.
Ибо магия и все дела.

Но как только его перестает хватать, то лучше сразу использовать SQL, например, через JdbcTemplate.
Hibernate это сильное колдунство и как оно работает "унутре" знать можно, но смысла особого нет.
Т.к. проще написать запрос на SQL, чем заставить Hiberntae сделать, то что нужно.
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Не может найти бин
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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