为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot从服务类调用方法的问题

Spring Boot从服务类调用方法的问题

蝴蝶刀刀 2023-08-09 15:09:01
首先,你好。我有员工、地点、部门和工作类别。每个类都有自己的 JPA Repository 接口。我有一个服务类,我想在这个类中一一创建对象,用控制器调用这个方法并写入数据库。但我收到以下错误。我该如何修复这个错误?我哪里做错了,如果您能帮忙,我将不胜感激。项目结构在这里服务@Servicepublic class MainService {    @Autowired    LocationsRepository locationsRepository;    @Autowired    JobsRepository jobsRepository;    @Autowired    EmployeesRepository employeesRepository;    @Autowired    DepartmentsRepository departmentsRepository;    public String generateManual() {        try {            Locations locations = new Locations();            locations.setCountry("Turkey");            locations.setCity("Istanbul");            locationsRepository.save(locations);            Jobs jobs = new Jobs();            jobs.setSalary(4000);            jobs.setTitle("Software Developer");            jobsRepository.save(jobs);            Employees employees = new Employees();            employees.setFirstName("Mutlu");            employees.setLastName("Eren");            employees.setJobs(jobs);            employeesRepository.save(employees);            Departments departments = new Departments();            departments.setName("IT");            departments.setLocations(locations);            List<Employees> empList = new ArrayList<>();            empList.add(employees);            departments.setEmployees(empList);            departmentsRepository.save(departments);            return "SUCCESS.";        }catch(Exception e) {            e.printStackTrace();            return "FAILED.";        }    }}控制器@RestControllerpublic class MainController {    @Autowired    MainService mainService;    @GetMapping("/generate")    public void generate() {        mainService.generateManual();    }}资源spring.datasource.url=jdbc:mysql://localhost:3306/companydb?useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=false&serverTimezone=Turkeyspring.datasource.username=rootspring.datasource.password=
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

添加记录,然后再次运行

spring.jpa.hibernate.ddl-auto=update


查看完整回答
反对 回复 2023-08-09
?
富国沪深

TA贡献1790条经验 获得超9个赞

您在控制器中创建的服务错误。(您现在已经编辑了问题)

mainService = new MainService(); // this won't inject anything

您应该让 Spring 注入您的服务类。注释的全部目的@Autowired是您不必创建这样的资源。Spring 会为你解决这个问题。我建议您阅读有关依赖注入的内容。


查看完整回答
反对 回复 2023-08-09
  • 2 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信