我有课
@Component
@Configuration
public class EmailSender {
private Properties properties;
@Value("#{mail.smtp.starttls.enable}") private String startTls;
@Value("#{mail.transport.protocol}") private String protocol;
@Value("#{mail.smtp.auth}") private String auth;
@Value("#{mail.smtp.host}") private String host;
@Value("#{mail.user}") private String user;
@Value("#{mail.password}") private String password;
...
}
以及application.properties
中的以下属性
# Email Credentials
mail.user = someone@somewhere.com
mail.password = mypassword
# Sending Email
mail.smtp.host = smtp.gmail.com
mail.from = someone@somewhere.com
mail.smtp.starttls.enable = true
mail.transport.protocol = smtp
mail.smtp.auth = true
mail.subject = my subject...
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'emailSender': Unsatisfied dependency expressed through field 'startTls'; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'mail' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext' - maybe not public?
如何使用@value读取这些属性?
老实说,我试过很多次使用@value,但始终无法完全得到它。
使用$
代替#
@Component
@Configuration
public class EmailSender {
private Properties properties;
@Value("${mail.smtp.starttls.enable}") private String startTls;
@Value("${mail.transport.protocol}") private String protocol;
@Value("${mail.smtp.auth}") private String auth;
@Value("${mail.smtp.host}") private String host;
@Value("${mail.user}") private String user;
@Value("${mail.password}") private String password;
...
}
本文向大家介绍Springboot中@Value的使用详解,包括了Springboot中@Value的使用详解的使用技巧和注意事项,需要的朋友参考一下 Springboot通过@Value注解将配置文件中的属性注入到容器内组件中(可用在@Controller、@Service、@Configuration、@Component等Spring托管的类中) 1.普通字符串注入 例:yml中存在key
我尝试在具有Runnable的类中使用通过实例化的对象实例,但我得到了 我经历了这一过程,但我尝试的所有解决方案仍然是相同的问题。 共享我的代码: 我把这个类称为其他类的可运行类 < code>executor.submit(新的MyClass("abc "," def ")。newRunnable()); 那么,我是不是做错了什么,或者有什么方法可以让我使用这个对象
Application.Properties
应用.yml build.gradle: 错误: 知道我错过了什么吗? 我试图从yml文件中删除:driverClassName: org.h2.Driver。不工作。 尝试将build.gradle和版本修改为H2..也不起作用。
我试图在我的ksh程序的curl命令中使用两个变量,但它不起作用。
所以我有一些定制的POJO。每当我通过空构造函数实例化该对象时,我都希望将它的filed 初始化为来自< code > application . properties 的某个预设值。 在我的中: 我的POJO类: 在我的类中,我使用空构造函数实例化。但是当我打印字段时,我得到零。 如何使该字段的值为1500,我从< code > application-prod . properties 中获得