spring中的Bean的自动装配

这篇具有很好参考价值的文章主要介绍了spring中的Bean的自动装配。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Bean的自动装配:

装配说明:

  • 自动装配是使用spring满足bean依赖的一种方法
  • spring会在应用上下文中为某个bean寻找其依赖的bean

装配机制:

  1. 在xml中显式配置;(bean标签和property标签)
  2. 在java中显式配置;(get,set方法)
  3. 隐式的bean发现机制和自动装配。(自动装配)

Spring的自动装配需要从两个角度来实现,或者说是两个操作:

  1. 组件扫描(component scanning):spring会自动发现应用上下文中所创建的bean
  2. 自动装配(autowiring):spring自动满足bean之间的依赖,也就是我们说的IoC/DI

byType,byName自动装配

使用注解(@Autowired)

  • @Autowired是按类型自动转配的,不支持id匹配
  • 需要导入 spring-aop的包
  1. 新建实体类Cat包含一个shout方法

    package com.openlab.entity;
    
    public class Cat {
        public void shout(){
            System.out.println("喵喵喵~");
        }
    }
    
  2. 新建User类添加属性Cat

    @Autowired
    private Cat cat;
    public Cat getCat() {
    	return cat;
    }
    
  3. 修改配置文件

    <context:annotation-config/>
    <bean id="user" class="com.openlab.entity.User"/>
    <bean id="cat" class="com.openlab.entity.Cat"/>
    
  4. 编写测试类

@Test
public void testAutowired(){
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
    User user = (User) applicationContext.getBean("user");
    user.getCat().shout();
}

结果

测试结果:文章来源地址https://www.toymoban.com/news/detail-606928.html

D:\Java\jdk1.8.0_261\bin\java.exe 
喵喵喵~

进程已结束,退出代码0

到了这里,关于spring中的Bean的自动装配的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Idea显示无法自动装配。找不到‘ xxx’类型的Bean

    问题如下:  原因: 当我们在使用@Autowired注解的时候,默认required=true,表示注入的时候bean必须存在,否则注入失败。 解决方案一: 在自动转配的注解后面添加(required=false)  解决方案二: 在设置-编辑器-检查中找到如下位置,将选框中的 ‘√‘ 去掉

    2024年02月02日
    浏览(35)
  • IDEA报错:无法自动装配。找不到 ‘xxxService‘ 类型的 Bean。【错误记录】

    这个问题卡了两天,deptService一直报红,现在终于解决了  原因:在给Application添加scanBasePackages属性时写到了放Conteoller层的controller文件内,而Service层文件都在此文件夹之外导致无法扫描到service类型的bean  解决方法: 在application里加上三层架构文件夹所在的文件夹    已不报

    2024年02月11日
    浏览(43)
  • springboot配置使用redis序列化时报错“无法自动装配。找不到 ‘RedisConnectionFactory‘ 类型的 Bean”

    今天在使用springboot操作redis时出现乱码的问题 像这样,这里对应的key明实际上时springboot:string 对应的值时徐浩的redis 但是当向redis推送数据时就乱码了,后面一查是因为在springboot-redis中,默认配置没有序列化,直接将string转成了byte 所以需要配置一下序列化 我这里配置了一下

    2024年02月07日
    浏览(33)
  • spring boot自动装配及自动装配条件判断

    第一步需要在pom.xml文件指定需要导入的坐标 要是没有自动提示需要检查maven有没有 实现代码 执行代码示例

    2024年02月20日
    浏览(27)
  • spring自动装配原理

    为了搞明白自动装配原理,需要知道spring容器管理bean的生命周期 分为四步: 1、实例化 读取spring配置文件 通过反射进行bean的实例化(eg:通过BeanFactory实例化) 2、属性赋值 解析 自动装配 (byName、byType、constractor、default)DI的体现 循环依赖 3、初始化 调用XXXAware回调方法

    2024年02月02日
    浏览(28)
  • Spring Boot自动装配

    自动装配是 Spring Boot 最核心的功能之一,第三方可以基于这个特性非常方便的和 Spring 做整合,实现自己的 Starter,做到开箱即用。 Java 早期并不支持注解,所以那会儿 Spring 只能通过 xml 的形式来配置。早期项目里要引入一个功能模块,首先我们要引入 SDK,然后在 xml 里配置

    2024年01月23日
    浏览(32)
  • Spring Boot 自动装配原理

    Java面试题目录 Spring Boot自动装配原理   Spring Boot启动类上的 @SpringBootApplication 注解中包含 @EnableAutoConfiguration 注解,表示开启自动装配。在@EnableAutoConfiguration注解中使用@Import注解引入 AutoConfigurationImportSelector 组件,此类中通过 SpringFactoriesLoader.loadFactoryNames() 方法来扫描所有

    2024年01月25日
    浏览(32)
  • 深入了解Spring Boot自动装配

    Spring Boot的自动装配是一项强大的功能,能够简化应用程序的配置和开发过程。让我们通过一系列详细的例子来深入了解这一特性。 在Spring Boot中,自动装配是指框架根据应用程序的依赖关系,自动配置和装配相应的Bean,而无需手动设置。这使得开发者可以更专注于业务逻辑

    2024年01月23日
    浏览(33)
  • spring boot的自动装配原理

    作者: 逍遥Sean 简介:一个主修Java的Web网站游戏服务器后端开发者 主页:https://blog.csdn.net/Ureliable 觉得博主文章不错的话,可以三连支持一下~ 如有需要我的支持,请私信或评论留言! Spring Boot是一个开源的Java框架,可以帮助开发者快速构建基于Spring的应用程序。Spring Boo

    2024年02月10日
    浏览(29)
  • Spring Boot自动装配原理(易懂)

    熟练使用Spring Boot那么自动装配原理的掌握是必不可少的 Spring Boot的自动装配实际上是从 META-INF/spring.factories 文件中获取到对应的需要进行自动装配的类,并生成相应的Bean对象,然后将它们交给Spring容器进行管理 启动类的@SpringBootAppliation注解是一个组合注解,由以下3个注解组

    2024年02月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包