🌱 Spring Framework 使用详解(依赖注入与定时任务)

✍️ 作者:默语|微信:Solitudemind
📬 公众号:默语摸鱼


在这里插入图片描述

📌 简介

在现代Java开发中,Spring Framework 是构建企业级应用的核心基础框架。本文简要说明其在项目中常用的两大功能:依赖注入(DI)任务调度(@Scheduled) 的实际应用和注解使用方式,帮助开发者快速理解其设计哲学与实现细节。


🧩 1. 依赖注入(Dependency Injection, DI)

Spring Framework 中最核心的特性之一就是 依赖注入(DI)。它允许组件之间的依赖关系由 Spring 容器自动装配,从而实现松耦合与高扩展性。

✅ 常见注解说明

@Autowired(Spring专有)
  • 作用: 自动按类型注入 Spring 容器中的 Bean。

  • 示例:

    @Autowired
    private SelfLeverAddrMapper selfLeverAddrMapper;
    
@Resource(Java 标准注解 - JSR-250)
  • 作用: 按名称进行注入,更符合 Java 规范。

  • 优点: 适合在对 Spring 框架耦合要求较低的项目中使用。

  • 示例:

    @Resource
    private HttpUtils httpUtils;
    

📌 对比说明:

  • @Autowired 更灵活,可结合 @Qualifier 实现多 Bean 注入。
  • @Resource 默认按名称注入,但在找不到匹配 Bean 时也可能按类型回退查找。
@Service
  • 作用: 将当前类标识为 业务逻辑层组件,Spring 会自动将其注册为 Bean。

  • 使用场景: 搭配依赖注入,实现服务间协作。

  • 示例:

    @Service
    public class OrderServiceImpl implements OrderService {
        ...
    }
    

⏰ 2. 任务调度(定时任务)

Spring 提供了强大的任务调度能力,结合 @Scheduled 注解可以快速创建定时执行的方法。

🧠 @Scheduled 使用方法

基本语法:
@Scheduled(cron = "0 0 8 * * ?")
public void BjcyGdxxCfsqData() {
    // 每天上午 8 点执行的任务逻辑
}

🕓 Cron 表达式解释:

字段顺序含义示例值
秒(Seconds)0–590
分(Minutes)0–590
时(Hours)0–238
日(Day)1–31*
月(Month)1–12*
周(Week)1–7 或 SUN–SAT?

示例解释:

  • 表达式: 0 0 8 * * ?
  • 含义: 每天早上 8 点执行一次,不限制日期与星期。
  • 方法: BjcyGdxxCfsqData() 定期执行数据同步/清洗等任务。

✅ 若要开启定时任务,需要在启动类或配置类中加上以下注解:

@EnableScheduling

📚 总结

Spring 提供的依赖注入和任务调度机制,极大提升了 Java 项目的模块化能力与自动化执行能力。在实际开发中:

  • 推荐优先使用 @Service@Autowired 实现服务层解耦。
  • 针对接口或第三方工具类,合理使用 @Resource 实现注入。
  • 对于周期性任务,如数据同步、定时清理等,@Scheduled 配合 cron 表达式使用,简洁而强大。

📎 拓展阅读


📢 加入默语AI开发者交流群

🎁 获取更多Spring实战案例 + 项目源码 + AI资料包,欢迎扫码添加微信进群:

微信号:Solitudemind
👉 添加备注:Spring进群


如需完整源码和更多AI技术资料,请点击👇下方名片添加微信领取:

✨⬇️ 添加微信 | 领取资料 | 加入城市群 ⬇️✨



📢 加入默语共创社群矩阵
和一群优秀的技术人一起探索科技未来,共同成长 🚀

👉 点击此处,加入核心学习团队

更多推荐