Java 非控制器类中的Spring Boot application.properties自定义变量
为什么application.properties可以在RestController中工作,而不能在服务类中工作Java 非控制器类中的Spring Boot application.properties自定义变量,java,spring,spring-boot,dependency-injection,Java,Spring,Spring Boot,Dependency Injection,为什么application.properties可以在RestController中工作,而不能在服务类中工作 //application.properties test=test 工作完美 @RestController public class invitecontroller { @Autowired inviteconfig inviteconfig; @PostMapping("/v1/invite") public void
//application.properties
test=test
工作完美
@RestController
public class invitecontroller {
@Autowired inviteconfig inviteconfig;
@PostMapping("/v1/invite")
public void invite(@RequestBody XXX XXX) {
System.out.println(inviteconfig);
}
}
返回“Null”
未将
inviteservice
类配置为Spring IoC(控制反转)的bean,因此Spring不会处理inviteservice
类的生命周期。在这种情况下,@Autowired
是无用的
要解决此问题,请尝试将@Component
注释添加到invitesevice
,将其声明为组件:
@Component
public class inviteservice {
@Autowired inviteconfig inviteconfig;
public void invite() {
System.out.println(inviteconfig);
}
}
对于控制器,使用@RestController
,Spring会将您的类识别为Spring组件
最后,不要忘记使用Spring IoC(使用
@Autowired
注释或其他方法)注入inviteservice
。未将inviteservice
类配置为Spring IoC(控制反转)的bean,因此Spring不会处理inviteservice
类生命周期。在这种情况下,@Autowired
是无用的
要解决此问题,请尝试将@Component
注释添加到invitesevice
,将其声明为组件:
@Component
public class inviteservice {
@Autowired inviteconfig inviteconfig;
public void invite() {
System.out.println(inviteconfig);
}
}
对于控制器,使用@RestController
,Spring会将您的类识别为Spring组件
最后,不要忘记使用Spring IoC(使用
@Autowired
注释或其他方法)注入inviteservice
。inviteservice类应使用@Component或@Service注释
@Component
public class inviteservice {
...
inviteservice类应使用@Component或@Service进行注释
@Component
public class inviteservice {
...
在Java中,我们总是在
PascalCase
中命名类,请确保您在本网站上发布问题之前这样做,因为这会让每个人都更容易阅读代码。@Boris the Spider,谢谢您的偏好,但我的问题与Pascal Case无关,谢谢。这不是偏好,Java就是这样写的。不要用“固定”代码更新你的问题!现在答案没有意义了,因为它们似乎在解决一些根本不在您的问题中的问题。在Java中,我们总是在PascalCase
中命名类,请确保在将问题发布到该网站之前这样做,因为这会使每个人都更容易阅读代码。@Boris the Spider,感谢您的选择,但我的问题与Pascal Case无关,谢谢。这不是首选项,这是Java的编写方式。不要用“固定”代码更新您的问题!现在答案没有意义了,因为它们似乎在解决一些根本不在你问题中的问题。我会被诅咒,我在这里玩了好几天,但对我来说关键是我在控制器中调用了inviteserviceinviteservice inviteservice=new inviteservice()
,但必须将其调整为与@Service/@组件一起读取@autowired inviteservice inviteservice
。我会被诅咒的,我在这里玩了好几天,但关键是我在控制器中调用了inviteserviceinviteservice inviteservice=new inviteservice()
,但必须将其调整为与@Service/@组件一起读取@autowiredinviteservice inviteservice
。