zoukankan      html  css  js  c++  java
  • @Autowired和@Resource的区别

    都知道这两个注解可以实现bean的注入

    @Autowired 这个是spring的注解    org.springframework.beans.factory.annotation.Autowired

    @Resource 这属于java自带的注解   javax.annotation.Resource

    @Autowired默认是按照类型来注入的,需要按名字注入的话可以跟@Qualifier搭配使用

    @Resource是按照里面的name属性来注入的

    上代码吧,更有区分性

    针对于面向接口编程的话,一个接口一个实现类是没啥区分性的。

    倘若两个实现类,你不指定的话,会报这个错

    org.springframework.beans.factory.BeanCreationException bean创建失败

    expected single matching bean but found 2: personServiceImpl1,personServiceImpl2

    可以写一个实例 一个service接口,两个serviceImpl实现类

    public interface PersonService {public List<Person> listPerson();
    }
    @Service
    public class PersonServiceImpl1 implements PersonService{
        @Autowired
        private PersonMapper mapper;
    
        public List<Person> listPerson() {
            System.out.println("PersonServiceImpl1.java");
            return mapper.listPerson();
        }
    }
    @Service
    public class PersonServiceImpl2 implements PersonService{
        @Autowired
        private PersonMapper mapper;
    
        public List<Person> listPerson() {
            System.out.println("PersonServiceImpl2.java");
            return mapper.listPerson();
        }
    }

    之后写一个controller层来进行注入调用

    @Controller
    public class PersonController {
        @Autowired
        @Qualifier("personServiceImpl1")
        private PersonService service;
        
        @Resource(name="personServiceImpl2")
        private PersonService service2;
        
        @RequestMapping("listPerson")
        @ResponseBody
        public void listPerson(){
            List<Person> list = service.listPerson();
            System.out.println(list);
        }
        
        @RequestMapping("listPerson2")
        @ResponseBody
        public void listPerson2(){
            List<Person> list = service2.listPerson();
            System.out.println(list);
        }
    }

    实例简单明了,一看就懂

    小白入手。。。

  • 相关阅读:
    标准输入输出
    UNIX基础概念
    phpstrom设置php环境
    nginx+php+swoole安装记录
    MySQL索引
    生成器来解决大文件读取,大数据下载
    PHP调优
    PHP-FPM详解
    远程登录服务器配置
    HTTPS配置
  • 原文地址:https://www.cnblogs.com/chywx/p/9279776.html
Copyright © 2011-2022 走看看