我试图在Spring Boot中创建一个简单的REST服务。在我使用CrudRepository之前,一切都很好。现在我得到了这个错误-
***应用程序启动失败
描述:
公司中的现场er。Spring靴。io。受雇者EmployeeService需要“company”类型的bean。Spring靴。io。受雇者找不到EmployeeRepo“”。
措施:
考虑定义一个“company”类型的bean。Spring靴。io。受雇者“EmployeeRepo”在您的配置中***
这是我的密码-
控制者-
@RestController
public class EmployeeController {
@Autowired
EmployeeService employeeService;
@GetMapping("/employees")
public List<Employee> getAllEmployees(){
return employeeService.getAllEmployees();
}
@GetMapping("/employees/{id}")
public Employee getEmployee(@PathVariable int id) {
return employeeService.getEmployee(id);
}
@PostMapping("/employees")
public String addEmployee(@RequestBody Employee e) {
employeeService.addEmployee(e );
return "Employee Records were added successfully";
}
@PutMapping("/employees/{id}")
public String updateEmployee(@RequestBody Employee e, @PathVariable int id) {
return employeeService.updateEmployee(e, id);
}
@DeleteMapping("/employees/{id}")
public @ResponseBody String deleteEmployee(@PathVariable int id) {
return employeeService.deleteEmployee(id);
}
}
服务-
@Autowired
EmployeeRepo er;
public List<Employee> getAllEmployees() {
List<Employee> list= new ArrayList<>();
er.findAll()
.forEach(list::add);
return list;
//return list;
}
public void addEmployee(Employee e) {
// TODO Auto-generated method stub
er.save(e);
}
public String updateEmployee(Employee e, int id) {
// TODO Auto-generated method stub
er.save(e);
String s= "The Employee with id has been replaced by Employee with id "+e.getId();
return s;
}
public String deleteEmployee(int id) {
// Auto-generated method stub
er.deleteById(id);
return "Employee withh id "+id+" has been removed from the company";
}
public Employee getEmployee(int id) {
return er.findById(id).get();
}
}
CrudRepository接口
package company.springBoot.io.Employee;
import org.springframework.data.repository.CrudRepository;
public interface EmployeeRepo extends CrudRepository<Employee, Integer>{
}
根
package company.springBoot.io.EmployeeRest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages=
{"company.springBoot.io.Employee"})
public class EmployeeRestApplication {
public static void main(String[] args) {
SpringApplication.run(EmployeeRestApplication.class, args);
}
}
有人能帮我吗?
现在我得到了这个错误-
您缺少annnotation
package company.springBoot.io.Employee;
import org.springframework.data.repository.CrudRepository;
@Repository /// here is the trick
public interface EmployeeRepo extends CrudRepository<Employee, Integer>{
}
由于缺少注释,Spring没有扫描该接口,因此无法创建这种依赖关系。
我对整个Spring的生态系统都是陌生的。我一直在学习一些教程,能够创建一个Spring Boot应用程序并执行crud操作。然后我开始把这个项目改成mybatis的标准。 我已经尝试了许多其他类似问题的答案,但到目前为止没有一个是有效的。 下面是问题陈述: 实现类实现为: 我的Mapper类如下所示: 我的Mapper.xml课是: 最后是我的控制器类: 我得到的错误是: 描述: com.cru
我正在做SpringBoot项目,并遵循一些测试SpringBoot的说明。 当我尝试将mysql DB与项目连接时,服务找不到映射器。 我不知道为什么它找不到映射器... 这是服务代码和 这是映射程序代码 下面的错误是 我将发布我的包裹设置的图片。。。
我得到以下错误: 我以前从未见过这个错误,但奇怪的是@autowire不能工作。以下是项目结构: 申请者界面 应用程序 现在我应该能够自动连接申请者并能够访问,但是在这种情况下,当我在中调用它时,它就不起作用了 ---------------更新1-------------------------------- 我添加了 错误消失了,但什么也没有发生。但是,当我在添加之前注释掉了中与有关的所有内容
应用程序启动失败 考虑在您的配置中定义一个类型为'com.service.adminService'的bean。