2016-08-03 6 views
0

Essayez simplement d'exécuter le test suivant.Mail de démarrage de printemps ne peut pas trouver JavaMailSender pour autowire

Je reçois NoSuchBeanDefinitionException: Aucun bean qualifiant de type [org.springframework.mail.javamail.JavaMailSender] lorsque je l'exécute.

Que manque-t-il?

pom:

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-mail</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>javax.mail</groupId> 
     <artifactId>mail</artifactId> 
     <version>1.4.1</version> 
    </dependency> 

classe Test:

@RunWith(SpringRunner.class) 
public class SendEmailTest { 

@Autowired 
private JavaMailSender javaMailService; 

@Test 
public void testSendEmail() { 

    SimpleMailMessage mailMessage = new SimpleMailMessage(); 
    String msgText = "This is your <b>mail message</b> from the <h3>Java Test</h3> !"; 

    mailMessage.setTo("[email protected]"); 
    mailMessage.setSubject("A test from Java"); 
    mailMessage.setText(msgText); 

    javaMailService.send(mailMessage); 
} 

} 

Répondre

0

Essayez ce,

@RunWith(SpringJUnit4ClassRunner.class) 
    @SpringApplicationConfiguration(classes = YourApplication.class) 
    public class SendEmailTest { 

     @Autowired 
     private JavaMailSender javaMailService; 

    } 

Dans votre classe configuaration,

@Bean 
    public JavaMailSenderImpl mailSender() { 

     JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); 

     javaMailSender.setProtocol("SMTP"); 
     javaMailSender.setHost("127.0.0.1"); 
     javaMailSender.setPort(25); 

     return javaMailSender; 
    } 
+0

Il semble que ce soit dû à l'absence de la classe de configuration. – bobpardoe