In RegistrationService
, @Autowired registrationDao
und registerCustomer
funktionieren ok. Aber es kann ActivationMailService
nicht automatisch verdrahten.Spring Autowired Ausnahme (Feld konnte nicht Autowire ..)
Ich habe das Problem nicht gefunden. Es funktioniert, wenn ich ActivationMailService
in RegistrationService
entferne. Könnte mir bitte jemand sagen, was das Problem in meinem Code ist?
Ich habe das Projekt http://www.mediafire.com/?baum85us0rmmue3
ich diese Fehler hochgeladen unten, wenn ich die Anwendung ausführen:
Hibernate: drop table if exists Customer
ERROR: org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'activationMailServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected com.game.portal.utils.SendMail com.game.portal.services.impl.ActivationMailServiceImpl.sendMail; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sendMail': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: org.springframework.mail.javamail.JavaMailSenderImpl com.game.portal.utils.SendMail.mailSender; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected com.game.portal.utils.SendMail com.game.portal.services.impl.ActivationMailServiceImpl.sendMail; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sendMail': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: org.springframework.mail.javamail.JavaMailSenderImpl com.game.portal.utils.SendMail.mailSender; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:517)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
... 22 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sendMail': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: org.springframework.mail.javamail.JavaMailSenderImpl com.game.portal.utils.SendMail.mailSender; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:912)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:855)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:489)
... 24 more
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: org.springframework.mail.javamail.JavaMailSenderImpl com.game.portal.utils.SendMail.mailSender; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:517)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
... 35 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:988)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:858)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:489)
... 37 more
Jan 14, 2014 11:45:14 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'activationMailServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected com.game.portal.utils.SendMail com.game.portal.services.impl.ActivationMailServiceImpl.sendMail; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sendMail': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: org.springframework.mail.javamail.JavaMailSenderImpl com.game.portal.utils.SendMail.mailSender; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected com.game.portal.utils.SendMail com.game.portal.services.impl.ActivationMailServiceImpl.sendMail; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sendMail': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: org.springframework.mail.javamail.JavaMailSenderImpl com.game.portal.utils.SendMail.mailSender; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:517)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
... 22 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sendMail': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: org.springframework.mail.javamail.JavaMailSenderImpl com.game.portal.utils.SendMail.mailSender; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:912)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:855)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:489)
... 24 more
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: org.springframework.mail.javamail.JavaMailSenderImpl com.game.portal.utils.SendMail.mailSender; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:517)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
... 35 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.mail.javamail.JavaMailSenderImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:988)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:858)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:489)
... 37 more
verwalten Bohne:
package com.game.portal.managedbeans;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import com.game.portal.entities.Customer;
import com.game.portal.services.RegistrationService;
@ViewScoped
@ManagedBean
public class CustomerBean implements Serializable {
private static final long serialVersionUID = 7291708796066664438L;
@ManagedProperty(value="#{registrationService}")
RegistrationService registrationService;
Customer customer = new Customer();
public void registerCustomer(){
customer.setName("xxx");
customer.setSurname("xxx");
customer.setUsername("xxx");
customer.setEmail("[email protected]");
customer.setPassword("xxxx");
registrationService.registerCustomer(customer);
}
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public RegistrationService getRegistrationService() {
return registrationService;
}
public void setRegistrationService(RegistrationService registrationService) {
this.registrationService = registrationService;
}
}
Hier ist RegistrationService
package com.game.portal.services;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.game.portal.dao.RegistrationDao;
import com.game.portal.entities.Company;
import com.game.portal.entities.Customer;
@Service
public class RegistrationService {
@Autowired
RegistrationDao registrationDao;
@Autowired
ActivationMailService activationMailService;
public void registerCustomer(Customer customer) {
System.out.println("RegistrationUserBean:: Registering user " + customer.getName() + " " + customer.getUsername() + ", with email " + customer.getEmail());
registrationDao.registerCustomer(customer);
activationMailService.sendActivationMail(customer);
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Registration success", "success");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void registerCompany(Company company) {
System.out.println("RegistrationUserBean:: Registering user " + company.getName() + " " + company.getUsername() + ", with email " + company.getEmail());
registrationDao.registerCompany(company);
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Registration success", "success");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
ActivationMailService
Hinweis: Getestet habe ich die @Autowired
auf SendMail
, HashMap
und EmailTemplateService
entfernen. Es klappt. Es gibt kein Problem mit @Autowired
auf ActivationCodeService
. Es ist wirklich seltsam.
package com.game.portal.services;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.game.portal.entities.Customer;
import com.game.portal.utils.SendMail;
@Service
public class ActivationMailService {
@Autowired
protected ActivationCodeService activationCodeService;
@Autowired
protected SendMail sendMail;
@Autowired
protected HashMap<String, String> emailMap;
@Autowired
private EmailTemplateService mailTemplateService;
protected static final Logger logger = Logger.getLogger("ActivationMailService");
public void sendActivationMail(Customer customer) {
try {
sendMail.send("test", "test", customer.getEmail(), createActivationMailMessage(customer));
} catch (UnsupportedEncodingException e) {
logger.error(e.getMessage(), e);
}
}
private String createActivationMailMessage(Customer customer) throws UnsupportedEncodingException {
String emailTemplate = mailTemplateService.generateTemplate("activation", emailMap.get("domain_name"));
return emailTemplate;
}
}
SendMail.class
import java.util.ArrayList;
import java.util.HashMap;
import javax.activation.FileDataSource;
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
@Lazy(true)
@Scope("singleton")
@Service
public class SendMail {
private static Logger logger = Logger.getLogger(SendMail.class);
@Autowired
JavaMailSenderImpl mailSender;
@Autowired
private HashMap<String, String> emailMap;
public boolean send(String subject, String from, String[] to, String message) {
boolean sendSuccessfull = true;
MimeMessage mailMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mailMessage, "UTF-8");
try {
helper.setFrom(from, emailMap.get("fromName"));
helper.setTo(to);
helper.setSubject(subject);
helper.setText(message, true);
mailSender.send(mailMessage);
logger.warn("SEND MAIL TO : " + to + " WITH SUBJECT " + subject
+ " OK ");
} catch (Exception e) {
logger.error(e.getMessage(), e);
sendSuccessfull = false;
}
return sendSuccessfull;
}
public boolean send(String subject, String from, String to, String message) {
boolean sendSuccessfull = true;
MimeMessage mailMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mailMessage, "UTF-8");
try {
helper.setFrom(from, emailMap.get("fromName"));
helper.setTo(to);
helper.setSubject(subject);
helper.setText(message, true);
mailSender.send(mailMessage);
logger.warn("SEND MAIL TO : " + to + " WITH SUBJECT " + subject
+ " OK ");
} catch (Exception e) {
logger.error(e.getMessage(), e);
sendSuccessfull = false;
}
return sendSuccessfull;
}
public boolean send(String subject, String from, String[] to, String[] cc, String message) {
boolean sendSuccessfull = true;
MimeMessage mailMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mailMessage, "UTF-8");
try {
helper.setFrom(from, emailMap.get("fromName"));
helper.setTo(to);
helper.setCc(cc);
helper.setSubject(subject);
helper.setText(message, true);
mailSender.send(mailMessage);
logger.warn("SEND MAIL TO : " + to + " WITH SUBJECT " + subject
+ " OK ");
} catch (Exception e) {
logger.error(e.getMessage(), e);
sendSuccessfull = false;
}
return sendSuccessfull;
}
public boolean send(String subject, String from, String to, String cc, String message) {
boolean sendSuccessfull = true;
MimeMessage mailMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mailMessage, "UTF-8");
try {
helper.setFrom(from, emailMap.get("fromName"));
helper.setTo(to);
helper.setCc(cc);
helper.setSubject(subject);
helper.setText(message, true);
mailSender.send(mailMessage);
logger.warn("SEND MAIL TO : " + to + " WITH SUBJECT " + subject
+ " OK ");
} catch (Exception e) {
logger.error(e.getMessage(), e);
sendSuccessfull = false;
}
return sendSuccessfull;
}
public boolean send(String subject, String from, String[] to, String[] cc,
String message, ArrayList<String> attachmentfilenamelist,
ArrayList<String> attachmentfilewithpathlist) {
boolean sendSuccessfull = true;
MimeMessage mailMessage = mailSender.createMimeMessage();
MimeMessageHelper helper;
try {
helper = new MimeMessageHelper(mailMessage, true, "UTF-8");
helper.setFrom(from, emailMap.get("fromName"));
helper.setTo(to);
helper.setCc(cc);
helper.setSubject(subject);
helper.setText(message, true);
for (int i = 0; i < attachmentfilenamelist.size(); i++) {
helper.addAttachment(attachmentfilenamelist.get(i),
new FileDataSource(attachmentfilewithpathlist.get(i)));
}
mailSender.send(mailMessage);
logger.warn("SEND MAIL TO : " + to + " WITH SUBJECT " + subject
+ " OK ");
} catch (Exception e) {
logger.error(e.getMessage(), e);
sendSuccessfull = false;
}
return sendSuccessfull;
}
public boolean sendFromUser(String subject, String from, String fromName, String []to, String message) {
boolean sendSuccessfull = true;
MimeMessage mailMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mailMessage, "UTF-8");
String toAdresses = "";
for (int i = 0; i < to.length; i++) {
if(i == 0)
toAdresses = to[i];
else
toAdresses = toAdresses + ", " + to[i];
}
try {
helper.setFrom(from, fromName);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(message, true);
mailSender.send(mailMessage);
logger.warn("SEND MAIL TO : " + toAdresses + " WITH SUBJECT " + subject
+ " OK ");
} catch (Exception e) {
logger.error(e.getMessage(), e);
sendSuccessfull = false;
}
return sendSuccessfull;
}
}
Sie können die Protokollebene auf DEBUG gesetzt werden soll oder niedriger, um herauszufinden, warum Spring erstellt Ihre Bohne nicht. Ich sehe auch nicht den Import org.springframework.stereotype.Service; in ActivationMailService, aber Sie verwenden diese Annotation. Hast du das nur zu diesem Beitrag hinzugefügt? Wenn ja, funktioniert das nicht. –
Ich denke, es gibt mehr zu dieser NoSuchBeanException. Es ist unmöglich, ohne den vollständigen Stacktrace zu sagen. Sie haben jedoch eine verdächtige @Autowired-Annotation auf einer HashMap in Ihrem ActivationService. Diese Autowire-Annotation wird sich höchstwahrscheinlich anders verhalten als erwartet. Wo ist die Definition dafür? – hyness
@ Giovanni, Es ist Kopie einfügen Fehler. Ich habe import org.springframework.stereotype.Service hinzugefügt. Es ist nicht die Ursache von Fehlern. – user1662738