spring 05 属性注入

 

spring属性注入:@Autowired    @Resource

                  @Autowired  自动装配

                              根据类的类型进行自动装配,无需在类中指定set方法。但出现的问题是如果含有多个同样的类型,如果不知道名称则会报错。原因很简单

                               程序分不清楚你要装入的是哪个类型。

                               指定装入类型的方式:

                                          1、在类的声明除指定名字

                                                                      @Repository("customerDao")

                                                             public class CustomerDaoImpl{}

                                                         对应的需要注入的类:

                                                                  public   class CustomerServiceImpl{

                                                                                private CustomerDaoInfo    customerDao

扫描二维码关注公众号,回复: 4745516 查看本文章

                                                                                        }

                                           2、类声明处不做更改,在要注入的类中指定要装入的类

                                                                 public class CustomerServiceImpl implements CustomerServiceinfo{

                                                                               @Autowired
                                                                               @Qualifier("customerImpl")
                                                                               private CustomerInfo customer;

                                                                       }

       @Resource 注入方式 :这种注入方式其实和@AutoWired    类似,但是你看import 导入的类时,会发现 @Resource 的注入是J2EE提供的,因此就有一种说法是

                使用@Resource 可以减少程序与spring之间的耦合,个人觉得这种说法有点扯犊子,既然你使用了spring框架,本身组件的扫描又是spring完成的,又何来这样

              一种 鸡肋似的的说法呢。

                    不同的是使用@Resource注入 我们的private声明属性时,就不能瞎写了,要根据类名首字母小写的方式进行注入。或者使用像@AutoWired 的方式区分名称进行

                     注入。       

猜你喜欢

转载自blog.csdn.net/XiaoqiangNan/article/details/78445018
今日推荐