Java 使用@Autowired在spring引导服务中出现空指针异常
我有一个服务,它有一个打印字符串的函数:Java 使用@Autowired在spring引导服务中出现空指针异常,java,spring,spring-boot,autowired,Java,Spring,Spring Boot,Autowired,我有一个服务,它有一个打印字符串的函数: @Service public class Aservice { public void write(String test) { System.out.println(test); } } 我只是想在主函数中调用这个函数,但是它给了我一个服务的空指针异常,我做错了什么 @SpringBootApplication public class TestApplication { @Autowired
@Service
public class Aservice {
public void write(String test) {
System.out.println(test);
}
}
我只是想在主函数中调用这个函数,但是它给了我一个服务的空指针异常,我做错了什么
@SpringBootApplication
public class TestApplication {
@Autowired
private Aservice aservice;
public static void main(String[] args) {
TestApplication test = new TestApplication();
test.start();
}
public void start() {
aservice.write("ddd");
}
}
以下是错误:
Exception in thread "main" java.lang.NullPointerException
at com.example.test.TestApplication.start(TestApplication.java:19)
at com.example.test.TestApplication.main(TestApplication.java:15)
这是我的身材。格雷德尔:
plugins {
id 'org.springframework.boot' version '2.5.0'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'org.postgresql:postgresql'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
运行Spring启动应用程序的正确方法是使用
SpringApplication
run方法:
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
这将引导Spring框架,包括组件扫描、依赖项注入等