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

自连线对象的Spring变量注入

龚奇逸
2023-03-14

我有一节这样的课-

@Service
public class SomeClass {

@Autowired
Environment env;

private String property;

@Value("${pty}")
public void setPty(String pty) {
    pty = environment.getProperty("pty");
   } 
}

我试图注入'pty'变量从另一个类'环境'这是自动的,我得到这个异常时,我的服务器启动

错误创建名为'某物类'的bean:注入自动生成的依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreation异常:无法自动连接方法:公共无效service.facade.ActionFacade.setPty(java.lang.字符串);嵌套异常是<-无法解析字符串值${pty}中的占位符pty

共有3个答案

仉明知
2023-03-14

你可以借助Springbean的生命周期来完成这项工作:1。初始化bean-

public class EmployeeService implements InitializingBean{

    private Employee employee;

    public Employee getEmployee() {
        return employee;
    }

    public void setEmployee(Employee employee) {
        this.employee = employee;
    }

@PostConstruct
public void init() {
   property = env.getProperty("pty");
}

    @Override
    public void afterPropertiesSet() throws Exception {

    }
}
谢修真
2023-03-14

试试@PostConstruct

PostConstruct注释用于需要在完成依赖项注入后执行以执行任何初始化的方法

@PostConstruct
public void init() {
    property = env.getProperty("pty");
}
牧飞鹏
2023-03-14

例外情况是因为Spring上下文中没有属性pty@Value在加载的资源文件中查找占位符“pty”。

在您的情况下,它不是必需的,因为您需要从环境类中获取它,您已经有了自动连线,下面的代码将为您提供想法。

@Service
public class SomeClass {

 @Autowired
 Environment env;
 private String property;

 @PostConstruct
 public void init(){
    property=env.getProperty("pty");
 }
}
 类似资料:
  • 我正在使用spring boot创建一个后端应用程序,其用户使用JWT进行身份验证。 当我验证用户的jwt(使用过滤器)时,我将其内容解析为一个名为“身份验证”的对象,其中包含用户的id、名称、角色... 在用用户数据创建这个对象之后,我自动连接它,以便将它用于任何类(服务、控制器…) 大多数时候,我对它没有问题。但有时我发现这个对象包含另一个用户的信息。 我认为每个用户都可以访问包含其信息的对象

  • 我对spring中的@Autowired注释有问题。我有一个RestController类: 接口: CategoryManagerImpl类: 每次编译代码时,我都会遇到一个异常: Bun当我创建ApplicationContext并尝试获取categoryManagerImpl bean时,没有问题: 有人知道哪里会有问题吗? 谢谢 添加了 配置类: 堆栈跟踪:

  • 我的POJO很大。Map Struct中是否有一种方法可以自动增加列表中的变量?

  • 我试图在MessageBoxDAO类中自动连接jdbctemplate(我想它工作得很好),然后我在控制器中创建自动连接的DAO对象来获取最新的ID,以防止获取重复的ID,并从它结束的地方开始。 代码如下: 由于我未知的原因,“dao”为空,因此无法构造计数器,程序停止 我刚接触spring boot,我知道这可能是一个非常简单的问题,但有人能指出我错在哪里吗?

  • 问题内容: 我正在自学Java,这本书中的其中一项复习练习要求“对象”和“对象变量”之间的区别。 我知道什么是对象(类的特定实例),但是我似乎无法在书中的任何地方(无答案部分)或在互联网上找到术语“对象变量”。 有人知道这个名词的意思吗? 问题答案: 它是“实例变量”的同义词: 显然,该术语并不常用,最好坚持使用“实例变量”以避免任何潜在的歧义。

  • 我仍然是Spring的新手,我正在尝试正确设置ehcache Spring注解。我使用的是Spring 3.2.3 ehCache 2.4和ehcache-spring-注解-1.2。 当我尝试访问对cacheManager的引用时,它总是空的。所有jar都在构建路径ehcache上。xml在类路径中,没有xml错误。我还尝试在组件扫描中包含类,并使用@Resource而不是自动连接。我卡住了!