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框架,包括组件扫描、依赖项注入等