依赖注入的两种方式:
set方法注入
就相当于将userDao对象通过setUserDao方法当做一个参数直接传给UserServiceImpl类中,当创建UserServiceImpl类的对象调用cast()方法时,cast()方法内部就会使用setUserDao方法传过来的userDao对象调用save()方法
具体setUserDao方法参数的userDao对象是如何创建的,这就要到xml配置文件中设置了
xml配置文件的另一种配置方式的写法,知道即可还是上面的<property>标签的可读性更加高
通过set方法注入的方式,就可以在Spring容器内部时就将Dao组装到了Service
set方法注入的关键就是,xml配置文件<property>标签将Dao组装到了Service,并在再service层的实现方法上用set方法接收dao层的对象,并使用对象对dao层进行操作。
构造方法注入
创建一个有参构造器用于接收UserDao对象
使用<constructor-arg>标签配置
⚠ set方法注入和构造器注入的方式其他都一样,就是接收UserDao的载体set注入是私有属性的setter方法、构造器注入是有参构造器,xml配置文件的标签set注入是<property>、构造器注入是<constructor-arg>
set方式注入其他类型数据
以上两种依赖注入的方式不只能用于注入对象,还可以用于注入普通数据类型、引用数据类型和集合数据类型,接下来就以set注入方式为例演示
普通数据类型
创建变量相应的setter方法
配置xml配置文件
spring客户端对象获取Bean对象,并调用save方法