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

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

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

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

package com.atguigu.spring.dao;public interface UserDao {public void add();
}
package com.atguigu.spring.dao;import org.springframework.stereotype.Repository;@Repository
public class UserDaoImpl implements UserDao {@Overridepublic void add() {System.out.println("dao add");}
}
package com.atguigu.spring.service;import com.atguigu.spring.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;//在注解里面value属性值可以省略不写
//默认值是类名称,首字母小写
@Service(value = "userService")//<bean id = "" class = ""/>
public class UserService {//定义dao类型属性//不需要添加set方法//添加注入属性注解@Autowired //根据类型进行注入private UserDao userDao;public void add(){System.out.println("service add");userDao.add();}}
package com.atguigu.spring.testdemo;import com.atguigu.spring.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring5Demo1 {@Testpublic void testService(){ApplicationContext context = new ClassPathXmlApplicationContext("bean6.xml");UserService userService = context.getBean("userService", UserService.class);System.out.println(userService);userService.add();}
}

(2)@Qualifier:根据属性名称进行注入

这个@Qualifier注解的使用,和上面@Autowired一起使用

package com.atguigu.spring.dao;import org.springframework.stereotype.Repository;@Repository(value = "userDaoImpl")
public class UserDaoImpl implements UserDao {@Overridepublic void add() {System.out.println("dao add");}
}
package com.atguigu.spring.service;import com.atguigu.spring.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;//在注解里面value属性值可以省略不写
//默认值是类名称,首字母小写
@Service(value = "userService")//<bean id = "" class = ""/>
public class UserService {//定义dao类型属性//不需要添加set方法//添加注入属性注解@Autowired //根据类型进行注入@Qualifier (value = "userDaoImpl")private UserDao userDao;public void add(){System.out.println("service add");userDao.add();}}

(3)@Resource:可以根据类型注入,可以根据名称注入

@Resource//根据类型进行注入
@Resource(name = "userDaoImpl")//根据名称进行注入

(4)@Value:注入普通类型属性

package com.atguigu.spring.service;import com.atguigu.spring.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;//在注解里面value属性值可以省略不写
//默认值是类名称,首字母小写
@Service(value = "userService")//<bean id = "" class = ""/>
public class UserService {@Value(value = "abc")private String name;//定义dao类型属性//不需要添加set方法//添加注入属性注解@Autowired //根据类型进行注入@Qualifier (value = "userDaoImpl")private UserDao userDao;public void add(){System.out.println("service add"+name);userDao.add();}}

[Spring5]IOC容器_Bean管理注解方式_注入属性@Autowired_@Qualified_@Resource_@Value相关推荐

  1. [Spring5]IOC容器_Bean管理注解方式_创建对象

    IOC操心Bean管理(基于注解方式) 1.什么是注解 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值-) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3) ...

  2. [Spring5]IOC容器_Bean管理XML方式_外部属性文件

    IOC操作Bean管理(外部属性文件) 1.直接配置数据库信息 (1)配置德鲁伊druid连接池 (2)引入德鲁伊druid连接池依赖jar包 <!--直接配置连接池--><bean ...

  3. [Spring5]IOC容器_Bean管理注解方式_完全注解开发

    完全注解开发 (1)创建配置类,替代xml配置文件 package com.atguigu.spring.config;import org.springframework.context.annot ...

  4. [Spring5]IOC容器_Bean管理注解方式_组件扫描配置细节

    开启组件扫描细节配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...

  5. [Spring5]IOC容器_Bean管理XML方式_注入集合类型属性

    xml注入集合属性 1.注入数组类型属性 2.注入List集合类型属性 3.注入Map集合类型属性 (1)创建类,定义数组,list,map,set类型属性,生成对应set方法 package com ...

  6. [Spring5]IOC容器_Bean管理XML方式_注入其他类型属性

    xml注入其他属性 bean: package com.atguigu.spring;/*** 演示使用set方法进行注入属性*/ public class Book {private String ...

  7. [Spring5]IOC容器_Bean管理XML方式_创建对象_set注入属性and有参构造注入属性

    IOC操作 Bean管理 什么是Bean管理 1.Bean管理指的是两个操作: a.Spring创建对象 b.Spring注入属性 2.Bean管理操作有两种方式 a.基于xml配置文件方式实现 b. ...

  8. [Spring5]IOC容器_Bean管理XML方式_自动装配

    IOC操作Bean管理(xml自动装配) package com.atguigu.spring.autowire;public class Dept {@Overridepublic String t ...

  9. IOC操作Bean管理注解方式(注入属性@Autowired和Qualifier)

    目录 IOC操作Bean管理注解方式(注入属性@Autowired.@Qualifier和@Resource) 1.基于注解方式实现 属性注入 (1)@Autowired:根据属性类型进行自动装配 第 ...

最新文章

  1. [Hibernate系列—] 2. 创建SessionFactory 与 Session
  2. 海信电视root工具_海信璀璨系列家电:一次购买便能享受全方位智能家居生活...
  3. 26 Java GC算法 垃圾收集器、标记 -清除算法、复制算法、标记-压缩算法、分代收集算法
  4. linux日志文件备份,linux配置文件、日志文件全备份
  5. 买苹果---动态规划
  6. 返璞归真-SOC起源
  7. shell表达语句中,各种符号的释义 用法
  8. 千万IOPS背后,宏杉科技“MS7000G2-Mach”为金融核心业务赋能
  9. 关于cups打印管理详细整理
  10. 源代码(二)_尚学堂学习
  11. facebook应用中_如何从Facebook应用程序的快捷方式栏中删除图标
  12. 人群密度估计最新数据集NWPU-Crowd 最新研究进展
  13. linux里关于Tab/Ctrl/Shift/Insert的快捷键
  14. 银保监会回应中国金融机构数据被公开售卖:绝大部分系黑客伪造拼凑
  15. 时间序列-ARIMA
  16. Mysql 5.7 表名大写遇到的坑 error: 1146: Table 'your_table' doesn't exist
  17. bin文件夹是个什么东西?
  18. DYA8面向对象中--包与修饰符
  19. JPA事务问题Executing an update/delete query
  20. java 不是封闭类_java – 不是一个封闭的类错误Android Studio

热门文章

  1. [转]IIS7全新管理工具AppCmd.exe的命令使用
  2. 数据结构与算法:终于可以用三种语言(C,C#,JavaScript)把图的广度优先遍历讲清楚了(推荐收藏)
  3. linux之可视化查看磁盘大小并且删除大文件
  4. linux网络编程之用一张图片说明函数inet_ntop、inet_pton、inet_addr、inet_ntoa 、inet_aton函数之间的关系
  5. Android之Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
  6. java requestbody map_@RequestBody 的正确使用办法
  7. 07-狄克斯特拉算法
  8. ​“北斗女神”徐颖,32岁成为中科院最年轻的博导!
  9. 没有女朋友,可能是因为你数学不好
  10. 这才是真正的蛙泳,还挺能蹦跶......