• Spring注解开发


    注解开发

    注解开发定义bean
    • 使用@Component定义bean
      在这里插入图片描述
    • 核心配置文件中通过组件扫描加载bean
      在这里插入图片描述
    • Spring提供@Component注解的三个衍生注解
      • @Controller:用于表现层bean定义
      • @Service:用于业务层bean定义
      • @Repository:用于数据层bean定义

    在这里插入图片描述

    纯注解开发
    • Spring3.0升级了纯注解开发模式,使用Java类代替配置文件,开启了Spring快速开发赛道

    • Java类代替Spring核心配置文件
      在这里插入图片描述

    • @Configuration注解用于设定当前类为配置类

    • @ComponentScan注解用于设定扫描路径,此注解只能添加一次,多个数据请用数组格式
      在这里插入图片描述

    • 读取Spring核心配置文件初始化容器对象切换为读取Java配置类初始化容器对象

    在这里插入图片描述

    小结

    在这里插入图片描述

    注解开发bean作用范围与生命周期管理(bean管理)

    bean作用范围
    • 使用@Scope定义bean的作用范围
      在这里插入图片描述

    • 使用@PostConstruct、@PreDestroy定义bean生命周期

    在这里插入图片描述

    在这里插入图片描述

    注解开发依赖注入(自动装配)

    • 使用@Autowired注解开启自动装配模式(按类型)
      在这里插入图片描述

    • 注意:自动装配基于反射设计创建对象并暴力反射对应属性为私有属性初始化数据,因此无需提供setter方法

    • 注意:自动装配建议使用无参构造方法创建对象(默认),如果不提供对应构造方法,请提供唯一的构造方法

    • 使用@Qualifier注解开启指定名称装配bean
      在这里插入图片描述

    • 注意:@Qualifier注解无法单独使用,必须配合@Autowired注解使用

    • 使用@Value实现简单类型注入

    在这里插入图片描述

    加载properties文件
    • 使用@PropertySource注解加载properties文件

    在这里插入图片描述

    • 注意:路径仅支持单一文件配置,多文件请使用数组格式配置,不允许使用通配符*

    在这里插入图片描述

    第三方bean管理

    第三方bean管理
    • 使用@Bean配置第三方bean
      在这里插入图片描述

    • 使用独立的配置类管理第三方bean
      在这里插入图片描述

    • 将独立的配置类加入核心配置

    • 方式一:导入式
      在这里插入图片描述

    • 使用@Import注解手动加入配置类到核心配置,此注解只能添加一次,多个数据请用数组格式
      在这里插入图片描述

    • 方式二:扫描式
      在这里插入图片描述

    • 使用@ComponentScan注解扫描配置类所在的包,加载对应的配置类信息
      在这里插入图片描述

    第三方bean依赖注入

    • 简单类型依赖注入
      在这里插入图片描述

    • 引用类型依赖注入
      在这里插入图片描述

    • 引用类型注入只需要为bean定义方法设置形参即可,容器会根据类型自动装配对象

    在这里插入图片描述

    注解开发总结

    XML配置与注解配置比较

    在这里插入图片描述

  • 相关阅读:
    新手一定要看的嵌入式学习方法
    景顺长城:《重塑与创造——2024 ai+洞察报告》
    搭建discuz论坛并攻破盗取数据库
    Jenkins共享库使用
    Docker入门学习笔记(狂神版)
    java毕业生设计材料提交管理系统计算机源码+系统+mysql+调试部署+lw
    CSS 用 flex 布局绘制骰子
    八、Thmeleaf
    「运维有小邓」企业/员工目录搜索
    influxdb删除错误DB contains shards using both inmem and tsi1 indexes.
  • 原文地址:https://blog.csdn.net/fkx20040610/article/details/134520644