gpt4 book ai didi

java - 我想创建非 Web Spring Boot 应用程序

转载 作者:行者123 更新时间:2023-12-02 01:05:53 26 4
gpt4 key购买 nike

我想创建非 Web Spring Boot 应用程序。但我收到以下错误

@SpringBootApplication
public class TaskApplication implements CommandLineRunner {

@Autowired
TaskService taskService;

public static void main(String[] args) {
SpringApplication.run(TaskApplication.class, args);
}

@Override
public void run(String... args) throws Exception {

taskService.print();

}

}

public interface TaskService {

public void print();
}



public class TaskServiceImpl implements TaskService {

@Override
public void print() {
System.out.println("sam");
}

}

属性:

spring.datasource.url=jdbc:mysql://localhost:3306/demo?verifyServerCertificate=false&useSSL=false&requireSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=root@123
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.hibernate.dialect=org.hibernate.dialect.MySQLDialect
spring.main.allow-bean-definition-overriding=true
##spring.jpa.hibernate.ddl-auto=update

错误

***************************
APPLICATION FAILED TO START
***************************

Description:

Field taskService in com.example.task.TaskApplication required a bean of type 'com.example.task.service.TaskService' that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)

行动:

Consider defining a bean of type 'com.example.task.service.TaskService' in your configuration.

最佳答案

@M。 Deinum 已经在评论中解释了。您需要使用 @Service@Component 注解来标记类,以创建 spring bean 并在 main 方法中 Autowiring 。

    // mark it with service annotation.
@Service
public class TaskServiceImpl implements TaskService {

@Override
public void print() {
System.out.println("sam");
}

}

要了解为什么需要这些注释,请访问此链接:@Component vs @Repository and @Service in Spring

关于java - 我想创建非 Web Spring Boot 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60075482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com