zoukankan      html  css  js  c++  java
  • @Autowired学习笔记

    @Autowired

    Autowired用于自动装配,对于接口的实现类,可以使用该注解,消除get和set方法。

    声明一个接口

    public interface UserService {
        void readyTest(String var);
    }
    

    单个实现类

    新建一个类,实现该接口

    import org.springframework.stereotype.Service;
    
    @Service
    public class UserServiceImpl implements UserService{
        @Override
        public void readyTest(String var) {
            System.out.println("方法被调用,收到参数:"+var);
        }
    }
    

    使用@Autowired注解,实现属性的自动装配

    @SpringBootTest
    class TestApplicationTests {
    
        // 属性自动装配,可以省略get和set方法
        // 此处的属性名称可以任意自定义,都会去找 UserService 接口的唯一实现类
        @Autowired
        UserService userServiceImpl;
    
        @Test
        void contextLoads() {
            userServiceImpl.readyTest("Autowired");
        }
    
    }
    

    多个实现类

    我们新建一个实现类

    import org.springframework.stereotype.Service;
    
    @Service
    public class UserServiceNewImpl implements UserService{
        @Override
        public void readyTest(String var) {
            System.out.println("新方法被调用,收到参数:"+var);
        }
    }
    

    当有多个实现类的情况下,会报错:无法自动装配。存在多个 'UserService' 类型的 Bean。
    idea会自动识别此错误。

    此时需要显式指定实现类:

    @SpringBootTest
    class TestApplicationTests {
    
        @Autowired
        UserService userServiceNewImpl;// 参数名称为类名
    
        @Test
        void contextLoads() {
            userServiceNewImpl.readyTest("Autowired");
        }
    
    }
    

    或者配合@Qualifier注解使用:

    @SpringBootTest
    class TestApplicationTests {
    
        @Autowired
        @Qualifier("userServiceNewImpl") // 指定实现类
        UserService userService;
    
        @Test
        void contextLoads() {
            userService.readyTest("Autowired");
        }
    
    }
    

    本文来自博客园,作者:Bin_x,转载请注明原文链接:https://www.cnblogs.com/Bin-x/p/15458435.html

  • 相关阅读:
    JavaBean理解
    你应该掌握的七种回归技术
    回归分析步骤
    rsync命令(同步/备份数据)
    获取客户端访问的ip地址
    SSO单点登陆
    产品分类之属性选择
    linux的SVN搭建与同步
    php 实现 mysql数据表优化与修复
    php程序备份还原mysql数据库
  • 原文地址:https://www.cnblogs.com/Bin-x/p/15458435.html
Copyright © 2011-2022 走看看