spring初步认识通过构造方法注入(二)

本文介绍了一个使用Spring框架IOC容器通过构造器注入方式实现依赖注入的示例。示例中创建了一个简单的`GreetingServiceImpl`类,并在applicationContext.xml配置文件中通过两种不同的构造器参数匹配方式完成了依赖注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class GreetingServiceImpl  {
 /**私有属性*/
 private String say;
 /**在定义一个私有的属性*/
 private String name;
 /**
  * IOC依赖注入的方式
  * 2、通过构造器注入
  * */
 public GreetingServiceImpl(String name,String say){
  this.name=name;
  this.say=say;
 }
 @Override
 public void say() {
  System.out.println("你给"+name+"打的招呼是:"+say);
 }
}
----------------------------------------------
applicationContext.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">


   <!-- 配置一个bean 指明bean id class property属性 value属性值 加载这个文件的时候 进行初始化 (需要根据bean的配置)-->
    <bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl">
    
     <!--第一种方法: 通过构造器参数的索引位置匹配方法 索引位置从0开始
     <constructor-arg index="0">
       <value>redarmy_chen</value>
     </constructor-arg>
     <constructor-arg index="1">
       <value>你好!</value>
     </constructor-arg>
      -->

     <!-- 第二种方法:通过构造器的参数类型匹配方法进行注入  如果两个参数都是Stirng型的。程序赋值是顺序赋值-->
     <constructor-arg type="java.lang.String">  
       <value>你好!</value>
     </constructor-arg>
    
     <constructor-arg type="java.lang.String">
       <value>redarmy_chen</value>
     </constructor-arg>
    </bean>

</beans>
 ------------------------------------------------------
 测试:
 @Test
 public void test1(){
  /**加载spring容器  可以解析多个配置文件 采用数组的方式传递*/
  ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
     /**IOC的控制反转体现*/
  GreetingService greetingService = (GreetingService) ac.getBean("greetingServiceImpl");
  greetingService.say();
 }

 输出结果是:

 你给你好!打的招呼是:redarmy_chen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值