[黑马程序员SSM框架教程] Spring-11-setter注入

  • 思考:向一个类中传递数据要几种?
    • set方法
    • 构造方法
  • 思考:依赖注入描述了在容器中建立bean与bean之间依赖关系的过程,如果bean运行需要数字或字符呢
    • 引用类型
    • 简单类型(基本数据类型和字符串)
      注入方式(4种)
    • setter注入简单和引用类型(学过)
    • 构造器注入简单和引用类型
  • 代码演示:一个service绑定两个dao,以及其中一个dao中的数据插入方式(setter方法)
  • 代码结构
    在这里插入图片描述
    pom文件不变
    两个接口均为save()的方法体
    BookDaoImpl:不变
package com.dao.impl;

import com.dao.BookDao;

public class BookDaoImpl implements BookDao {
    public void save() {
        System.out.println("输出bookbean");
    }
}

StuDaoImpl:添加两个变量以及他们的set方法用于IOC装载数据

package com.dao.impl;

import com.dao.StuDao;

public class StuDaoImpl implements StuDao {
    private String name;
    private int number;
//set方法是为了让IOC转载数据
    public void setName(String name) {
        this.name = name;
    }

    public void setNumber(int number) {
        this.number = number;
    }
//打印输出
    public void save() {
        System.out.println(name+","+number);
    }
}

BookServiceImpl:多声明一个dao以及对应的set方法

package com.service.impl;

import com.dao.BookDao;
import com.dao.StuDao;
import com.service.BookService;

public class BookServiceImpl implements BookService {
    private BookDao bookDao;
    private StuDao stuDao;

    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }

    public void setStuDao(StuDao stuDao) {
        this.stuDao = stuDao;
    }

    public void save() {
        bookDao.save();
        stuDao.save();
    }
}

applicationContext.xml:展示数据的装载方式以及一个service绑定两个dao

<?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.xsd">
    <bean id="bookDao" class="com.dao.impl.BookDaoImpl"></bean>
    <bean id="stuDao" class="com.dao.impl.StuDaoImpl">
          <!--  对stuDao的实现类中的变量根据名字一一加载   -->
        <property name="name" value="ljh"></property>
        <property name="number" value="191106044"></property>
    </bean>
          <!--  同时加载两个dao  -->
    <bean id="bookService" class="com.service.impl.BookServiceImpl">
        <property name="bookDao" ref="bookDao"></property>
        <property name="stuDao" ref="stuDao"></property>
    </bean>
</beans>

app启动文件不变

package com;

import com.service.BookService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class app {
    public static void main(String[] args) {
        ApplicationContext apx = new ClassPathXmlApplicationContext("applicationContext.xml");
        BookService bookService = (BookService) apx.getBean("bookService");
        bookService.save();
    }
}

运行结果:
在这里插入图片描述
总结:可以进行简单的数据配置了,并且一个服务层绑定两个dao。注意在dao层有变量的时候要记得用set方法来让IOC容器找到机会注入数据,服务层声明的接口也一样要用set让IOC找到注入方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伊可同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值