去除@Autowired注解warning提示

本文介绍了一种解决@Autowired注解导致的警告的方法,推荐使用setter注入替代字段注入,以提高代码的可读性和可维护性。通过示例展示了如何将字段注入转换为setter注入,避免了Field injection is not recommended的警告。

去除@Autowired注解warning提示

提示

  @Autowired
  private ICommonUtilsService checkService;

image.png

Field injection is not recommended

解决


替换成下述

    private ICommonUtilsService checkService;

    @Autowired
    public void setCheckService(ICommonUtilsService checkService) {
        this.checkService = checkService;
    }
package main.java.com.example.floodsystem.controller; import main.java.com.example.floodsystem.repository.MonitorPointRepository; import main.java.com.example.floodsystem.repository.ResponsePlanRepository; import main.java.com.example.floodsystem.repository.WarningRepository; @RestController @RequestMapping("/api") @CrossOrigin(origins = "*") public class FloodController { @Autowired private WarningRepository warningRepository; @Autowired private ResponsePlanRepository responsePlanRepository; @Autowired private MonitorPointRepository monitorPointRepository; // 所有API方法... } package main.java.com.example.floodsystem.controller; import main.java.com.example.floodsystem.repository.MonitorPointRepository; import main.java.com.example.floodsystem.repository.ResponsePlanRepository; import main.java.com.example.floodsystem.repository.WarningRepository; @RestController @RequestMapping("/api") @CrossOrigin(origins = "*") public class FloodController { @Autowired private WarningRepository warningRepository; @Autowired private ResponsePlanRepository responsePlanRepository; @Autowired private MonitorPointRepository monitorPointRepository; // 所有API方法... }package main.java.com.example.floodsystem.model; @Entity @Data public class MonitorPoint { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private double latitude; private double longitude; private double waterLevel; private double warningLevel; private double floodLevel; private Date updateTime; }package main.java.com.example.floodsystem.model; @Entity @Data public class ResponsePlan { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String level; private String description; private String responsibleDept; private Date createdTime; }package main.java.com.example.floodsystem.model; import java.sql.Date; @Entity @Data public class Warning { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private String content; private String level; private Date issueTime; private String region; private String status; }package main.java.com.example.floodsystem.repository; import main.java.com.example.floodsystem.model.MonitorPoint; import java.util.List; public interface MonitorPointRepository extends JpaRepository<MonitorPoint, Long> { List<MonitorPoint> findByWaterLevelGreaterThan(double level); }package main.java.com.example.floodsystem.repository; import main.java.com.example.floodsystem.model.ResponsePlan; import java.util.List; public interface ResponsePlanRepository extends JpaRepository<ResponsePlan, Long> { List<ResponsePlan> findByLevel(String level); }package main.java.com.example.floodsystem.repository; import main.java.com.example.floodsystem.model.Warning; import java.util.List; public interface WarningRepository extends JpaRepository<Warning, Long> { List<Warning> findByStatus(String status); } { "dependencies": { "axios": "^1.6.7", "element-plus": "^2.6.1", "vue": "^3.4.21", "vue-router": "^4.3.0", "leaflet": "^1.9.4", "vue-axios": "^3.5.2" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", "vite": "^5.1.6" } }<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <!-- 使用最新版本 --> <scope>provided</scope> </dependency> </dependencies>这是一个防汛抗洪系统的代码,纠错并给出完整代码
07-08
package com.ruoyi.web.controller.system; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.domain.ElderlyProfiles; import com.ruoyi.system.domain.HealthRecords; import com.ruoyi.system.mapper.ElderlyProfilesMapper; import com.ruoyi.system.mapper.HealthRecordsMapper; // 引入 MP 自动生成的 BaseMapper import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; /** * 健康记录控制器(所有业务逻辑直接写在 Controller) */ @RestController @RequestMapping("/system/healthRecords") public class HealthRecordsController { @Autowired private HealthRecordsMapper healthRecordsMapper; // 直接使用 MP 提供的 BaseMapper @Autowired private ElderlyProfilesMapper elderlyMapper; /** * GET /list - 查询健康记录列表(支持条件分页) */ @GetMapping("/list") public TableDataInfo list(HealthRecords records) { // 构建查询条件 QueryWrapper<HealthRecords> wrapper = new QueryWrapper<>(); if (records.getElderlyName() != null) { ElderlyProfiles elderlyProfiles = elderlyMapper.selectOne(new QueryWrapper<ElderlyProfiles>().eq("name", records.getElderlyName())); wrapper.eq("elderly_id", elderlyProfiles.getId()); } if (records.getRecordDate() != null) { wrapper.eq("DATE(record_date)", new java.sql.Date(records.getRecordDate().getTime())); // 按日期精确匹配 } if (records.getRecorder() != null && !records.getRecorder().trim().isEmpty()) { wrapper.like("recorder", records.getRecorder()); } wrapper.orderByDesc("record_date", "id"); Page<HealthRecords> page = new Page<>(records.getPageNum(), records.getPageSize()); Page<HealthRecords> resultPage = healthRecordsMapper.selectPage(page, wrapper); for (HealthRecords record : resultPage.getRecords()) { record.setElderlyName(elderlyMapper.selectById(record.getElderlyId()).getName()); } TableDataInfo tableDataInfo = new TableDataInfo(); tableDataInfo.setRows(resultPage.getRecords()); tableDataInfo.setTotal(resultPage.getTotal()); return tableDataInfo; } /** * GET /{id} - 获取详细信息 */ @GetMapping("/{id}") public AjaxResult getInfo(@PathVariable Integer id) { HealthRecords record = healthRecordsMapper.selectById(id); if (record == null) { return AjaxResult.error("数据不存在"); } return AjaxResult.success(record); } /** * POST - 新增健康记录 */ @PostMapping public AjaxResult add(@RequestBody HealthRecords records) { if (records.getElderlyId() == null || records.getElderlyId() <= 0) { return AjaxResult.error("请先选择老人"); } // 防止重复提交:检查同一天是否已有记录 QueryWrapper<HealthRecords> existWrapper = new QueryWrapper<>(); existWrapper.eq("elderly_id", records.getElderlyId()) .eq("DATE(record_date)", new java.sql.Date(System.currentTimeMillis())); Long count = healthRecordsMapper.selectCount(existWrapper); if (count > 0) { return AjaxResult.error("该老人今日已录入健康数据,请勿重复添加"); } // 设置默认值 records.setRecordDate(new Date()); records.setRecorder(SecurityUtils.getUsername()); int result = healthRecordsMapper.insert(records); if (result > 0) { return AjaxResult.success("保存成功"); } return AjaxResult.error("保存失败"); } /** * PUT - 修改健康记录(不允许修改 elderlyId) */ @PutMapping public AjaxResult edit(@RequestBody HealthRecords records) { if (records.getId() == null) { return AjaxResult.error("ID不能为空"); } HealthRecords old = healthRecordsMapper.selectById(records.getId()); if (old == null) { return AjaxResult.error("数据不存在"); } // 禁止修改关联老人 // records.setElderlyId(old.getElderlyId()); // records.setRecorder(old.getRecorder()); // 录入人不变 // records.setRecordDate(old.getRecordDate()); // 测量日期不变 int result = healthRecordsMapper.updateById(records); if (result > 0) { return AjaxResult.success("更新成功"); } return AjaxResult.error("更新失败"); } /** * DELETE /{ids} - 删除一条或多条 */ @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Integer[] ids) { for (Integer id : ids) { healthRecordsMapper.deleteById(id); } return AjaxResult.success("删除成功"); } } 新增按钮不见
09-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员鱼丸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值