• 在Spring中,标签管理的Bean中,为什么使用@Autowired自动装配修饰引用类(前提条件该引用类也是标签管理的Bean)


    @Autowired是Spring框架的一个注解,它可以用来完成自动装配。

    自动装配是Spring框架的一个特性,它可以避免手动去注入依赖,而是由框架自动注入。这样可以减少代码的重复性和提高开发效率。

    在使用@Autowired注解时,Spring会自动搜索项目中的组件(如类、接口、Bean等),并根据@Autowired注解上的注释信息来确定需要注入哪些类和接口。

    @Autowired有多个适用场景:

    1. 自动装配Bean

    @Autowired可以自动注入Bean,也就是使用该注解的类需要引用其他类,这个其他类可以在Spring容器中找到,该注解就会通过Bean ID来找到它,并将它注入到使用@Autowired注解的类中。

    1. 自动装配构造函数

    使用@Autowired注解在构造函数中可以自动装配依赖项。这样就可以省略手动注入依赖项的代码。

    1. 自动装配方法

    使用@Autowired注解在方法中可以自动装配依赖项。这样就可以省略手动注入依赖项的代码。

    1. 自动装配接口

    使用@Autowired注解在接口中可以自动装配实现了该接口的类。

    总之,@Autowired注解是Spring框架中一个重要的注解,它可以帮助我们完成自动装配,提高开发效率,减少代码量。

    《示例》

    @Autowired是Spring框架中的注解,用于自动装配一个bean。它会自动寻找合适的bean并将其注入到所标注的变量、方法或构造函数等装配点中。

    下面是一个使用@Autowired的示例:

    @Component
    public class SomeService {
        public void doSomething() {
            System.out.println("SomeService is doing something.");
        }
    }
    
    @Service
    public class MyService {
        @Autowired
        private SomeService someService;
        
        public void doService() {
            System.out.println("MyService is doing service.");
            someService.doSomething();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这个示例中,@Autowired注解标注了MyService中的someService变量,表示需要自动注入一个SomeService类型的bean。在程序运行时,Spring会自动查找并注入一个SomeService类型的bean到MyService中的someService变量中。

    值得注意的是,使用@Autowired注解要求Spring容器中必须有且只有一个与被注入变量或方法参数类型匹配的bean。如果Spring容器中有多个类型匹配的bean,则需要使用@Qualifier注解来指定具体的bean。

    为啥@Autowired标签注释的私有引用类为什么不用写get和set ?????????????

    在Spring框架中,@Autowired注解用于自动装配Bean。当我们使用@Autowired注解时,Spring容器会自动找到对应类型的Bean,并将其注入到当前类中。因此,我们不需要手动编写get和set方法来获取或设置引用类型的实例。

    在注入Bean时,Spring通过反射机制获取Bean的实例,并将其注入到类的私有成员变量中。因此,在运行时,我们可以直接访问私有成员变量来获取已经装配好的Bean实例,无需编写get和set方法。

    注意:虽然不需要手动编写get和set方法,但为了保证代码可读性和可维护性,建议编写有意义的命名规范和注释。

    这哥么写得好,看不明白的去看这个https://blog.csdn.net/qq_19782019/article/details/85038081

  • 相关阅读:
    Leetcode 1572.矩阵对角线元素之和
    记录第一次顺利使用GitHub
    我的C#基础
    论文精读-Semi-Supervised Classification with Graph Convolutional Networks
    申请发明专利需要的时间
    基于springboot实现企业客户信息反馈平台管理系统项目【项目源码+论文说明】计算机毕业设计
    1044 Shopping in Mars
    C++基础入门
    使用Puppeteer进行数据抓取保存为JSON
    DM8:达梦数据库dexp-DMP逻辑导出按用户模式定时自动备份数据库
  • 原文地址:https://blog.csdn.net/Novice_anan/article/details/133892849