Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Springboot同样的注释调用。变量成员值为0_Java_Spring Boot_Dependency Injection - Fatal编程技术网

Java Springboot同样的注释调用。变量成员值为0

Java Springboot同样的注释调用。变量成员值为0,java,spring-boot,dependency-injection,Java,Spring Boot,Dependency Injection,My Dependency injection@repository使用@autowired为0值 @Repository public class AbsensiRepo{ public double jarakStandardMasukDanPulang = 4.5; } @Repository public class RekapKehadiranRepo { @Autowired AbsensiRepo absensiRepo; public double ShowOtherDIV

My Dependency injection@repository使用@autowired为0值

@Repository
public class AbsensiRepo{
public double jarakStandardMasukDanPulang = 4.5;
}

@Repository
public class RekapKehadiranRepo {
@Autowired
AbsensiRepo absensiRepo;

 public double ShowOtherDIVariable(){
  double test = 1*absensiRepo.jarakStandardMasukDanPulang;
  return test;
 }
}
当我运行ShowOtherDIVariable()时 结果为0;变量absensiRepo.jarakStandardMasukdanPullang的值为0

为什么呢?我叫它的时候,AbsensiRepo课上的JarakStandardMasukdanPullang还没有完成吗


如何解决它,使absensiRepo.jarakStandardMasukdanPullang值与原始值一样为4.5?

问题在于@Repository注释。您需要做的就是让Spring为这两个类创建bean。将注释从
@Repository
更改为
@Configuration
将有效

@配置
公开课考试{
@自动连线
试验2:ABSSENSIREPO;
公共双显示其他变量(){
双重测试=1*absensiRepo.JarakStandardMasukdanPullang;
回归试验;
}

}
如何调用
ShowOtherDIVariable
以及如何获取实例?您的类路径扫描是否提取了所有存储库?请注意,字段注入是无效的。不是答案,但这可能已经将您推向了正确的方向。如果可以使用
@Configuration
,为什么要使用@Repository注释?不,将执行字段初始值设定项,而不管调用哪个构造函数。不管它是自动生成的无参数构造函数还是自定义构造函数。始终执行字段初始值设定项。试试看:
class A{public int x=42;public static void main(String args[]){System.out.println(new A().x);}}}
你说得对。问题在于@Repository注释。将其更改为
@Configuration
修复了该问题。@knittl Halo knittl。马拉地溶液似乎对我的病例有效。既然我是新来的spring boot,你有更有效的解决方案来解决我的问题吗?