• IOC操作Bean管理(基于注解方式)


    1. 什么是注解

      • 格式:@注解名称(属性名=属性值,属性名=属性值)
      • 使用注解:注解作用在类(方法,属性)上
      • 使用目的:简化xml配置
    2. Spring针对Bean管理中创建对象提供注解

      • @Component 普通用法
      • @Service 用于service业务逻辑层
      • @Controller 用于web层
      • @Repository 用于DAO持久层
    3. 基于注解方式实现对象创建例子

    • 第一步:引入依赖spring-aop-5.2.6.RELEASE.jar

    • 第二步:开启组件扫描,使用context名称空间

    • 第三步:创建类,在类上面添加创建对象注解

    1. "1.0" encoding="UTF-8"?>
    2. "http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    6. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    7. package="cn.xs.spring5.dao,cn.xs.spring5.service">
    1. // 在注解里面value属性值可以省略不写
    2. // 默认值是类名称,首字母小写
    3. // UserService -- userService
    4. @Component(value = "userService") //
    5. public class UserService {
    6. public void add() {
    7. System.out.println("service add.......");
    8. }
    9. }
    1. package="cn.xs" use-default-filters="false">
    2. "annotation" expression="org.springframework.stereotype.Service"/>
    3. package="cn.xs">
    4. "annotation" expression="org.springframework.stereotype.Controller"/>

    4.基于注解方式显示属性注入

    (1)@AutoWired:根据属性类型进行自动装配

    • 第一步:把service和dao对象创建,在service和dao类添加创建对象注解

    • 第二步:在service注入dao对象,在service类添加到类型属性,在属性上面使用注解,使用@AutoWired注入属性,不需要添加set方法

    1. @Service
    2. public class UserService {
    3. // 定义dao类型属性
    4. // 不需要添加set方法
    5. // 添加注入属性注解
    6. @Autowired
    7. private UserDao userDao;
    8. public void add() {
    9. System.out.println("service add.......");
    10. userDao.add();
    11. }
    12. }

    • 其实@AutoWired也是一个特殊的根据名称进行注入,因为每个对象被Spring创建的时候都有一个首字母小写的默认名称
    • @Qualifier:根据属性名称进行注入
    • 这个@Qualifier注解的使用,和上面@AutoWired一起使用
    1. @Service
    2. public class UserService {
    3. // 定义dao类型属性
    4. // 不需要添加set方法
    5. // 添加注入属性注解
    6. @Autowired
    7. @Qualifier(value = "userDaoImpl")
    8. private UserDao userDao;
    9. public void add() {
    10. System.out.println("service add.......");
    11. userDao.add();
    12. }
    13. }
    • @resource:可以根据类型注入,也可以根据名称注入
    1. // 根据类型进行注入
    2. // @Resource
    3. // 根据名称进行过注入
    4. @Resource(name = "userDaoImpl")
    5. private UserDao userDao;

    @Resourse注解是javax包里面的,是java自带的注解,不是Spring官方的注解,Spring不推荐使用

    • 注入普通类型属性
    • @Value
    1. @Value(value = "abc")
    2. private String name;

  • 相关阅读:
    配置交换机将Log发送到日志服务器
    使用JS代理 实现大对象的功能拆解
    常规性能调优RDD优化_大数据培训
    【Hello Algorithm】二叉树相关算法
    【python海洋专题S2】找范围的语句进阶版本V2
    湖南株洲三维扫描检测CNC机加工零件截面检测弧度测量-CASAIM中科广电
    【Redis】Redis的几个应用场景(string数据类型的应用)
    使用香橙派学习 Linux的守护进程
    基于网络的虚拟仪器测试系统
    【Leetcode】拿捏链表(五)——138. 复制带随机指针的链表
  • 原文地址:https://blog.csdn.net/m0_61916154/article/details/126933586