当前位置: 首页 > 知识库问答 >
问题:

Spring@Value属性在自定义pojo中为空

苏嘉歆
2023-03-14

我创建了一个简单的JavaMailSender spring启动应用程序(只是为了好玩)。以下是GitHub上代码的参考:

https://github.com/carlcorder/mail.sender

我遇到了一个问题,在Email类中,“from”属性为null,即使我用@Value注释它(除此之外,一切工作都很完美)。课程安排如下:

package com.mail.sender.domain;

import lombok.NonNull;
import org.springframework.beans.factory.annotation.Value;

@lombok.Data
@lombok.AllArgsConstructor
@lombok.NoArgsConstructor
@lombok.Builder
public class Email {

    @NonNull
    private String to;

    @NonNull
    //@Value("{spring.mail.username}") --> this is always null
    private String from;

    @NonNull
    private String subject;

    private String body;

}

我读过这些帖子,知道问题很可能与此有关。

applicationContext之间的差异。xml和springservlet。Spring框架中的xml

这是:

@Controller类中的Spring@Value注释未计算为属性文件中的值

然而,我仍然无法得到任何工作。任何帮助都将不胜感激。

共有1个答案

尤夕
2023-03-14

正如注释中提到的Deinum,对于非spring托管类,不会替换值。

在您的例子中,由于您将从获取作为配置,您可以将该字段移动到MailSenderService类。

在那里,您需要使用@Value注释声明字段。正如@ndrone所提到的,属性名称应该以$作为前缀。

在MailSenderService中添加以下内容并将其从电子邮件类中删除

@Value("${spring.mail.username}")
private String from;

 类似资料:
  • 在我的项目中有2个资源属性 1.application.properties 2. 应用开发.性能 此类使用开发的值属性 我使用 application-development.properties 作为我的项目资源 因此,我使用以下命令运行该项目: < code > mvn spring-boot:run-D spring . profiles . active = development 但是

  • 我试图添加一个自定义attributes对象类,因为我的一个应用程序只使用SamAccountName。 我发现,它需要以下模式来将其添加到LDAP中。

  • 本文向大家介绍C#自定义属性,包括了C#自定义属性的使用技巧和注意事项,需要的朋友参考一下 示例 查找具有自定义属性的属性-MyAttribute 查找给定属性上的所有自定义属性 枚举具有自定义属性的所有类-MyAttribute 在运行时读取自定义属性的值 用法            

  • 自定义标签的意义在于方便管理,可以给SIM卡增加一个标签,并且针对某个标签进行统计、查询及管理。支持批量操作。 设置号码自定义标签 支持针对订单、针对iccid进行自定义标签的设置。 号码详情页查询/设置自定义标签 号码详情页,可以查看当前号码已设置的自定义标签,并且可以针对其添加、修改。 自定义标签管理 可以增加、修改、删除自定义属性及其值。

  • 我正在将我的项目从Spring 2.5.6迁移到Spring 4.0.6。下面是我们拥有的客户属性编辑器的xml定义。 但是,当我启动服务器时,我在日志中看到以下异常。 这是我班级里Spring罐子的清单

  • 我试图使用WooCommerce的分层导航属性过滤侧边栏小部件过滤WooCommerce商店中的〜30,000种产品。这需要使用预定义的产品属性分类法,而不是在每个产品的基础上使用自定义属性。 商店里的每种产品都有一个导入的定制“品牌”属性。在导入产品之前,我在wp-admin中创建了一个名为()的属性分类法。然而,进口产品没有将其品牌属性(和术语名称)添加到品牌()分类中。取而代之的是,所有的产