小马哥讲Spring核心编程思想

1)属性 setter 注入
指 IoC 容器使用 setter 方法注入被依赖的实例。通过调用无参构造器或无参 static 工厂方法实例化 bean 后,调用该 bean 的 setter 方法,即可实现基于 setter 的 DI。极客时间小马哥讲Spring核心编程思想

2)构造方法注入
指 IoC 容器使用构造方法注入被依赖的实例。基于构造器的 DI 通过调用带参数的构造方法实现,每个参数代表一个依赖。

下面通过属性 setter 注入的案例演示 Spring 容器是如何实现依赖注入的。具体步骤如下。

  1. 创建 PersonService 接口
    在 springDemo01 项目的 com.mengma.ioc 包下创建一个名为 PersonService 的接口,该接口中包含一个 addPerson() 方法,如下所示。
package com.mengma.ioc;public interface PersonService {public void addPerson();}
  1. 创建接口实现类 PersonServiceImpl
    在 com.mengma.ioc 包下创建一个名为 PersonServiceImpl 的类,该类实现了 PersonService 接口,如下所示。
package com.mengma.ioc;public class PersonServiceImpl implements PersonService {// 定义接口声明private PersonDao personDao;// 提供set()方法,用于依赖注入public void setPersonDao(PersonDao personDao) {this.personDao = personDao;}// 实现PersonService接口的方法@Overridepublic void addPerson() {personDao.add(); // 调用PersonDao中的add()方法System.out.println("addPerson()执行了...");}}

上述代码中,首先声明了 personDao 对象,并为其添加 setter 方法,用于依赖注入,然后实现了 PersonDao 接口的 addPerson() 方法,并在方法中调用 save() 方法和输出一条语句。

  1. 在 applicationContext.xml 中添加配置信息
    在 applicationContext.xml 配置文件中添加一个 元素,用于实例化 PersonServiceImpl 类,并将 personDao 的实例注入到 personService 中,其实现代码如下所示:
<bean id="personService" class="com.mengma.ioc.PersonServiceImpl"><!-- 将personDao实例注入personService实例中 --><property name="personDao" ref="personDao"/></bean>
  1. 编写测试方法
    在 FirstTest 类中创建一个名为 test2() 的方法,编辑后如下所示:
@Testpublic void test2() {// 定义Spring配置文件的路径String xmlPath = "applicationContext.xml";// 初始化Spring容器,加载配置文件ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);// 通过容器获取personService实例PersonService personService = (PersonService) applicationContext.getBean("personService");// 调用personService的addPerson()方法personService.addPerson();}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小马哥stm32f1源文件是指由小马哥团队开发的针对STMicroelectronics的STM32F1系列微控制器的源代码文件。 STM32F1系列微控制器是STMicroelectronics推出的一款32位ARM Cortex-M3内核的单片机产品系列,它具有高性能、低功耗和丰富的外设资源等特点,广泛应用于各种嵌入式系统中。 小马哥团队开发的STM32F1源文件包含了各种驱动库、示例代码和应用程序,用于简化开发者在STM32F1系列微控制器上进行软件开发的过程。这些源文件提供了丰富的功能和接口,包括GPIO(通用输入输出)、USART(串行通信接口)、SPI(串行外围设备接口)、I2C(串行总线接口)等,开发者可以根据自己的需求选择适合的源文件进行开发。 通过使用小马哥stm32f1源文件,开发者可以更加便捷地进行STM32F1系列微控制器的项目开发。开发者可以根据自己的需求使用源文件中提供的函数和驱动库,以实现各种功能,如控制外部设备、接收传感器数据、实现通信等等。同时,源文件中的示例代码也提供了一些常用的应用案例,方便开发者了解和学习。 小马哥stm32f1源文件的开发团队专注于为开发者提供高质量的开发工具和开发资源,以帮助开发者更好地利用STM32F1系列微控制器进行嵌入式系统开发。这些源文件的开发和维护不仅提升了开发效率,还提供了更好的可靠性和稳定性,为开发者的项目成功实施提供了有力的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值