我试图执行一个Spring项目,但总是返回一个错误,我不知道问题是否出在Spring Boot的版本上。
我有两个项目:
project IntegrationCore包含project IntegrationModel(构建路径)的引用-
当我执行项目IntegrationCore(运行为-
应用程序启动失败
说明:
com.integration.controller.NoteController中的字段存储库需要
我试过:
集成核心
src/
├── main/
│ └── java/
| ├── com.integration/
| | └── IntegrationCoreApplication.java
| ├── com.integration.controller/
| | └── NoteController.java
| └── com.integration.repository/
| └── NoteRepository.java
集成模型
src/
├── main/
│ └── java/
| ├── com.integrationModel/
| | └── NoteStatuses.java
| └── com.integrationModel.filter/
| └── NoteStatusesParams.java
IntegrationCoreApplication。Java语言
package com.integration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages={
"com.integration", "com.integrationModel"})
public class IntegrationCoreApplication {
public static void main(String[] args) {
SpringApplication.run(IntegrationCoreApplication.class, args);
}
}
NoteController。Java语言
package com.integration.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.integrationModel.NoteStatuses;
import com.integrationModel.filter.NoteStatusesParams;
import com.integration.repository.NoteRepository;
@Component
@RestController
@RequestMapping(value = "/services/nota")
public class NoteController {
@Autowired
private NoteRepository repository;
@RequestMapping(value = "/getStatuses", method = RequestMethod.POST)
@ResponseBody
public List<NoteStatuses> getStatuses(@RequestBody List<NoteStatusesParams> params) {
return repository.findStatuses(params);
}
}
注意epository.java
package com.integration.repository;
import java.util.List;
import org.springframework.stereotype.Service;
import com.integrationModel.NoteStatuses;
import com.integrationModel.filter.NoteStatusesParams;
@Service
public interface NoteRepository {
List<NoteStatuses> findStatuses(List<NoteStatusesParams> param);
}
NoteStatusesParams.java
package com.integrationModel.filter;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Singular;
import java.util.List;
@Getter
@Builder(builderClassName = "Builder")
@NoArgsConstructor
@AllArgsConstructor
public class NoteStatusesParams {
@Singular
private List<String> orderNumbers;
private String providerCpfCnpj;
private String noteNumber;
}
注释状态。Java语言
package com.integrationModel;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
@Data
@EqualsAndHashCode(of = {"id"})
public class NoteStatuses {
private Boolean physicalReceipt;
...
}
如果您使用NoteRepository作为存储库,那么最好使用@Repository而不是@Service。
@SpringBootApplication
public class IntegrationCoreApplication {
public static void main(String[] args) {
SpringApplication.run(IntegrationCoreApplication.class, args);
}
@SpringBootApplication注释相当于使用@Configuration、@EnableAutoConfiguration和@ComponentScan及其默认属性。使用3个注释和1个@SpringBootApplication之间的区别只是使用这些,
@Configuration
@EnableAutoConfiguration
@Import({ ABC.class, XYZ.class })
@组件注释类不会自动检测到,用户定义的bean会显式导入(请参见@Import)。
问题在于您的以下定义。
@Service
public interface NoteRepository {
List<NoteStatuses> findStatuses(List<NoteStatusesParams> param);
}
它是一个接口,您不能使用@Service将其定义为服务。Spring将尝试为这个bean创建一个实例,因此它失败了。
您需要使用@Repostiry
注释并通过扩展您的相关存储库(即JPA或ElasticSearch存储库)将其定义为存储库。
我是一名spring boot学习者,所以我一直在尝试创建一些基本的spring boot应用程序。我试图运行开发的应用程序时出错。 我的错误是[[https://i.stack.imgur.com/oyQDi.png][1]][1] java: ItemDetails.java:[软件包名称:io.ajithan.springbootstarter.model] ItemResponse.jav
结构没有问题。spring boot可以扫描UserMapper,但不能扫描UserService。我试着给我的UserService@Mapper组件,然后它就可以被扫描了。但我不知道如何使用其他方法进行扫描。我尝试了@服务,但不起作用。
早上好!尽管我做了很多研究,但我无法用application spring解决这个问题,有人可以帮我,我使用jdk 17 我的服务类 我的存储库类 } 4.0.0 org.springframework。boot spring boot starter父版2.6.7 com。无限逻辑解码_后端0.0.1-SNAPSHOT解码_后端解码_后端 我的项目结构在此处输入图像描述
问题内容: 每当启动应用程序spring启动时,我都会收到以下错误。 申请开始失败 描述: com.base.model.AbstractDao中的现场会话需要找不到“ org.hibernate.SessionFactory”类型的Bean。 行动: 考虑在配置中定义类型为“ org.hibernate.SessionFactory”的bean。 我添加了我的应用程序的实现: POM.xml 应
我有一个java项目,它将Spring Boot与JPA结合使用,并将Hibernate用于数据库。我正在尝试建立一个访问数据库的微服务。(我不熟悉微服务和Spring Boot)。 以下是主要课程: IGmCircularsDAO. class: GMCircularsDAOImpl。类别: ParentDAO。班 循环服务。班 当我运行这段代码时,我遇到了以下错误,我已经陷入其中一段时间了。
我是spring boot的新手,一直在尝试制作简单的REST web应用程序。我遵循了不同指南中所示的步骤,但当我尝试运行应用程序时,仍然会遇到同样的问题。 这是我每次尝试运行代码时看到的输出 项目类别: