zoukankan      html  css  js  c++  java
  • spring12

    基于注解方式实现属性注入

    ​ (1)@Autowired:根据属性类型进行自动装配

    ​ 第一步 把 service 和 dao 对象创建,在 service 和 dao 类添加创建对象注解

    第二步 在 service 注入 dao 对象,在 service 类添加 dao 类型属性,在属性上面使用注解

    @Service
    public class UserService {
    //定义 dao 类型属性
    //不需要添加 set 方法
    //添加注入属性注解
    @Autowired
    private UserDao userDao;
    public void add() {
    System.out.println("service add.......");
    userDao.add();
    }
    }

    //Dao实现类
    @Repository
    //@Repository(value = "userDaoImpl1")
    public class UserDaoImpl implements UserDao {
    @Override
    public void add() {
    System.out.println("dao add.....");
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    ​ (2)@Qualifier:根据名称进行注入,这个@Qualifier 注解的使用,和上面@Autowired 一起使用

    //定义 dao 类型属性
    //不需要添加 set 方法
    //添加注入属性注解
    @Autowired //根据类型进行注入
    //根据名称进行注入(目的在于区别同一接口下有多个实现类,根据类型就无法选择,从而出错!)
    @Qualifier(value = "userDaoImpl1")
    private UserDao userDao;
    1
    2
    3
    4
    5
    6
    7
    ​ (3)@Resource:可以根据类型注入,也可以根据名称注入(它属于javax包下的注解,不推荐使用!)

    //@Resource //根据类型进行注入
    @Resource(name = "userDaoImpl1") //根据名称进行注入
    private UserDao userDao;
    1
    2
    3
    ​ (4)@Value:注入普通类型属性

    @Value(value = "abc")
    private String name
    1
    2
    ​ 6、完全注解开发

    ​ (1)创建配置类,替代 xml 配置文件

    @Configuration //作为配置类,替代 xml 配置文件
    @ComponentScan(basePackages = {"com.atguigu"})
    public class SpringConfig {

    }
    1
    2
    3
    4
    5
    ​ (2)编写测试类

    @Test
    public void testService2() {
    //加载配置类
    ApplicationContext context
    = new AnnotationConfigApplicationContext(SpringConfig.class);
    UserService userService = context.getBean("userService",
    UserService.class);
    System.out.println(userService);
    userService.add();
    }

    @Test
    public void testService2() {
    //加载配置类
    ApplicationContext context
    = new AnnotationConfigApplicationContext(SpringConfig.class);
    UserService userService = context.getBean("userService",
    UserService.class);
    System.out.println(userService);
    userService.add();
    }

  • 相关阅读:
    Swift无限滚动的FSPagerView
    Swift 中map、flatMap、compactMap、filer、reduce的使用总结
    Swift SnapKit自动布局的使用
    Swift UIScrollView懒加载的使用
    SwiftJson的使用
    SWIFT_VERSION '5.0' is unsupported, supported versions are: 3.0, 4.0...
    Swift 一个xib引用另外一个xib
    Swift xib或者storyboard添加圆角或者边框
    Swift使用Alamofire
    Swift中使用OC的类或者三方框架
  • 原文地址:https://www.cnblogs.com/huaobin/p/14892029.html
Copyright © 2011-2022 走看看