考虑在配置中定义“服务”类型的bean [Spring boot]

运行主类时出现错误。

Action:

Consider defining a bean of type 'seconds47.service.TopicService' in your configuration.

Description:

Field topicService in seconds47.restAPI.topics required a bean of type 'seconds47.service.TopicService' that could not be found

TopicService接口:

public interface TopicService {

TopicBean findById(long id);

TopicBean findByName(String name);

void saveTopic(TopicBean topicBean);

void updateTopic(TopicBean topicBean);

void deleteTopicById(long id);

List<TopicBean> findAllTopics();

void deleteAllTopics();

public boolean isTopicExist(TopicBean topicBean);

}

控制器:

@RestController

public class topics {

@Autowired

private TopicService topicService;

@RequestMapping(path = "/new_topic2", method = RequestMethod.GET)

public void new_topic() throws Exception {

System.out.println("new topic JAVA2");

}

}

实现类:

public class TopicServiceImplementation implements TopicService {

@Autowired

private TopicService topicService;

@Autowired

private TopicRepository topicRepository;

@Override

public TopicBean findById(long id) {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public TopicBean findByName(String name) {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public void saveTopic(TopicBean topicBean) {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public void updateTopic(TopicBean topicBean) {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public void deleteTopicById(long id) {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public List<TopicBean> findAllTopics() {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public void deleteAllTopics() {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

@Override

public boolean isTopicExist(TopicBean topicBean) {

throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

}

}

其余的类也已定义。我不知道为什么要componentScan在主要班级宣布这一点。

主班:

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class })

@ComponentScan(basePackages = {"seconds47"})

@EnableJpaRepositories("seconds47.repository")

public class Application {

public static void main(String[] args) {

SpringApplication.run(Application.class, args);

}

}

我有这样的包裹:

seconds47

seconds47.beans

seconds47.config

seconds47.repository

seconds47.restAPI

seconds47.service

回答:

一个类必须具有@Component注解或该推导(如@Service@Repository等)被识别为一个Spring

bean由组件扫描。因此,如果您添加@Component到该类中,它将解决您的问题。

以上是 考虑在配置中定义“服务”类型的bean [Spring boot] 的全部内容, 来源链接: utcz.com/qa/415285.html

回到顶部