我是Spring新来的,所以我有一个这样的问题:描述:
字段templateEngine在com.diet4you。拉普科·叶卡捷琳娜。MailComponent需要找不到类型org.thymeleaf.TemplateEngine的bean。
注入点具有以下注释:-@org。springframework。豆。工厂注释。自动连线(必需=真)
已找到以下候选项,但无法注入:-“ThymeleafAutoConfiguration”中的Bean方法“templateEngine”。ThymeleafDefaultConfiguration“未加载,因为@ConditionalOnBean(类型:org.thymeleaf.spring5.ISpringTemplateEngine;SearchStrategy:all)找到了类型为“org”的bean。百里香。Spring五号。ISpringTemplateEngine“templateEngine-Bean方法”templateEngine“在”自动配置中。由于未找到反应性web应用程序类,因此未加载响应性配置
行动:
考虑重新查看上面的条目或定义一个类型为“org”的bean。百里香。配置中的TemplateEngine。
邮件组件:
@Component
public class MailComponent {
@Autowired
MailSender mailSender;
@Autowired
JavaMailSender javaMailSender;
@Autowired
TemplateEngine templateEngine;
public boolean sendSimpleMail(Contact contact) {
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setFrom(contact.getEmail());
mailMessage.setSubject(contact.getSubject());
mailMessage.setText(contact.getMessage());
mailMessage.setTo("email@email.com"); // if you use Gmail do not forget to put your personal address
try {
mailSender.send(mailMessage);
return true;
} catch (MailException e) {
System.err.println(e.getMessage());
return false;
}
}
public boolean sendHtmlMail(Contact contact) {
Context context = new Context();
context.setVariable("contact", contact);
final String messageHtml = templateEngine.process("email/contact", context);
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper mailMessage = new MimeMessageHelper(mimeMessage);
try {
mailMessage.setTo("email@email.com"); // if you use Gmail do not forget to put your personal address
mailMessage.setFrom(contact.getEmail());
mailMessage.setSubject(contact.getSubject());
mailMessage.setText(messageHtml, true);
javaMailSender.send(mimeMessage);
return true;
} catch (MessagingException | MailException e) {
System.err.println(e.getMessage());
return false;
}
}
}
邮件配置:
@PropertySource(ignoreResourceNotFound = true, value = "classpath:ValidationMessages.properties")
@Configuration
public class MailConfig {
@Value("${spring.mail.host}")
private String host;
@Value("${spring.mail.port}")
private int port;
@Value("${spring.mail.default-encoding}")
private String encoding;
@Value("${spring.mail.properties.mail.debug}")
private String debug;
/**
* Gmail Config
*/
// @Value("${spring.mail.username}")
// private String username;
// @Value("${spring.mail.password}")
// private String password;
// @Value("${spring.mail.properties.mail.smtp.auth}")
// private String auth;
// @Value("${spring.mail.properties.mail.smtp.starttls.enable}")
// private String starttls;
@Bean
public JavaMailSender javaMailSender() {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setDefaultEncoding(encoding);
mailSender.setHost(host);
mailSender.setPort(port);
/**
* Gmail Config
*/
// mailSender.setUsername(username);
// mailSender.setPassword(password);
Properties properties = new Properties();
// properties.put("mail.smtp.auth", auth);
// properties.put("mail.smtp.starttls.enable", starttls);
properties.put("mail.debug", debug);
mailSender.setJavaMailProperties(properties);
return mailSender;
}
}
ThymeleafConfig:
public class ThymeleafConfig extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver viewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setCharacterEncoding("UTF-8");
viewResolver.setTemplateEngine( templateEngine());
return viewResolver;
}
@Bean
public ISpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver());
return templateEngine;
}
private ITemplateResolver templateResolver() {
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setCharacterEncoding("UTF-8");
templateResolver.setCacheable(false);
templateResolver.setPrefix("classpath:/templates/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode(TemplateMode.HTML);
return templateResolver;
}
}
我从这个例子中做到了:https://www.youtube.com/watch?v=KoPWOACk6CA
正如@Chris所建议的那样。
四处看看application.properties或application.yml文件。
必须有键定义如下所示的例子
application.properties
spring.mail.default-encoding=UTF-8
application.yml
spring
mail
default-encodig: UTF-8
Spring在试图构建KonsulrecjaController时会抱怨,因为它找不到满足对MailComponent依赖的bean。从您包含的类中,它看起来可能是两件事之一:
或
顺便说一句,JavaMailSender扩展了MailSender,所以您不需要将两者都注入MailComponent。
我是一名spring boot学习者,所以我一直在尝试创建一些基本的spring boot应用程序。我试图运行开发的应用程序时出错。 我的错误是[[https://i.stack.imgur.com/oyQDi.png][1]][1] java: ItemDetails.java:[软件包名称:io.ajithan.springbootstarter.model] ItemResponse.jav
结构没有问题。spring boot可以扫描UserMapper,但不能扫描UserService。我试着给我的UserService@Mapper组件,然后它就可以被扫描了。但我不知道如何使用其他方法进行扫描。我尝试了@服务,但不起作用。
我有一个java项目,它将Spring Boot与JPA结合使用,并将Hibernate用于数据库。我正在尝试建立一个访问数据库的微服务。(我不熟悉微服务和Spring Boot)。 以下是主要课程: IGmCircularsDAO. class: GMCircularsDAOImpl。类别: ParentDAO。班 循环服务。班 当我运行这段代码时,我遇到了以下错误,我已经陷入其中一段时间了。
应用程序启动失败 描述: com.base.model.abstractDAO中得字段会话需要类型为“org.hibernate.sessionFactory”得bean,但找不到该bean. 我添加了应用程序的实现: pom.xml 应用程序.属性 我在stackoverflow上查找了相同的错误代码,但没有一个解决方案起作用,因此将它与我的代码一起再次发布在这里。希望别人能指出我错在哪里。
有人知道我怎么解决这个问题吗?请告诉我,谢谢。
我是spring boot的新手,一直在尝试制作简单的REST web应用程序。我遵循了不同指南中所示的步骤,但当我尝试运行应用程序时,仍然会遇到同样的问题。 这是我每次尝试运行代码时看到的输出 项目类别: