专栏首页面朝大海春暖花开@Autowired和@Resource的区别

@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);
    }
}

实例简单明了,一看就懂

小白入手。。。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • button元素的id与onclick的函数名字相同 导致方法失效的问题

    需求需要在原先页面添加一个按钮,触发一个function,如此简单的操作,却无意间发现了一个问题。(还是对html了解的太少)

    陈灬大灬海
  • java浅拷贝和深拷贝(基础也是很重要的)

    对于的github基础代码https://github.com/chywx/JavaSE

    陈灬大灬海
  • zabbix监控jvm内存

    Zabbix自带监控系统的内存利用率和CPU利用率,但是系统内存并不能反应JVM内存情况

    陈灬大灬海
  • 南京人工智能高等研究院孔慧:多向技术驱动,让企业具备长久竞争力

    去年4月23日, 由地平线创始人余凯博士团队、清华大学张钹院士团队和南京经开区政府三方打造的南京人工智能高等研究院(以下简称“高等研究院”)正式成立,落户南京国...

    镁客网
  • Spring Cloud学习(2)——高可用Eureka Server

    而实现Eureka Server的高可用,实际就是把自己作为服务,向其他服务注册中心注册,形成一种互相注册的服务注册中心,以实现服务清单的互相同步,达到高可用的...

    胡了了
  • 多关键词搜索加亮操作

    当我们在使用搜索的时候是否觉得搜索的内容过于繁杂,我搜索的到底显示出来了吗?唉!这个时候就需要我们把搜索的结果进一步处理下,比如加亮~~~下面直接给出代码吧! ...

    苦咖啡
  • 浏览器后退时时如何重置input的值

    浏览器后退时时如何重置input的值: 试下 <input type="email" autocomplete="off"> 果然好了

    小柒2012
  • 腾讯云Ubuntu下定时监测MySQL进程终止后自动重启的方法

    前言最近发现MySQL服务隔三差五就会挂掉,导致我的网站和爬虫都无法正常运作。自己的网站是基于MySQL,在做爬虫存取一些资料的时候也是基于MySQL,数据量一...

    崔庆才
  • Shiro

    爱撒谎的男孩
  • Docker部署cloud

    叔叔

扫码关注云+社区

领取腾讯云代金券