Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.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 非控制器类中的Spring Boot application.properties自定义变量_Java_Spring_Spring Boot_Dependency Injection - Fatal编程技术网

Java 非控制器类中的Spring Boot application.properties自定义变量

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可以在RestController中工作,而不能在服务类中工作

//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的编写方式。不要用“固定”代码更新您的问题!现在答案没有意义了,因为它们似乎在解决一些根本不在你问题中的问题。我会被诅咒,我在这里玩了好几天,但对我来说关键是我在控制器中调用了inviteservice
inviteservice inviteservice=new inviteservice()
,但必须将其调整为与@Service/@组件一起读取
@autowired inviteservice inviteservice
。我会被诅咒的,我在这里玩了好几天,但关键是我在控制器中调用了inviteservice
inviteservice inviteservice=new inviteservice()
,但必须将其调整为与@Service/@组件一起读取
@autowiredinviteservice inviteservice