1.创建Bean对象的注解

<1>配置自定义Bean对象注解

@Component、@Controller、@Service、@repository
用法:写在类上,
例如:@Service 或者 @Service(“userService”)
作用:将该类交给Spring创建对象保存到Spring容器中,如果没有指定名称,类名首字母小写就是默认名称。

<2> 配置第三方Bean对象注解

@Bean
用法:写在配置类方法上。
例如: @Bean 或者 @Bean(“dataSource”)
作用:将方法的返回值对象保存到Spring容器,如果没有指定名称,方法名首字母小写就是默认名称。

2.依赖注入的注解

<1>注入对象类型数据

@Autowired
用法:写在成员变量/set方法/构造方法/方法参数列表中
作用:按照类型自动装配对象,如果同类型对象有多个,默认按照变量名和Bean的名称匹配,推荐使用@Qualifier指定要匹配的Bean的名称。
@Qualifier(""):指定要匹配的Bean的名称,要和@Autowired配合一起使用,不能单独使用。
<2>注入普通类型数据

<2>注入普通类型数据

@Value(""):注入普通类型数据,支持EL表达式

3.-1-和-2-两者代码示例

import com.itheima.dao.UserDao;
import com.itheima.service.UserService;
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.Service;@Service("userService")
public class UserServiceImpl implements UserService {@Value("20")private String num;@Autowired//本质是将容器中的对象直接赋值[前提:容器中要先添加该bean对象]//放到成员变量 底层:暴力反射//放到构造方法 可用//放到set方法 可用//方法参数列表中 可用@Qualifier("userDao")//当UserDao有两个同类型的属性,用此注解指定idprivate UserDao userDao;@Overridepublic void save() {System.out.println("UserServiceImpl save is running..."+num);userDao.save();}
}

4.初始化和销毁方法的注解

@Repository("userDao")
public class UserDaoImpl  implements UserDao {@Overridepublic void save() {System.out.println("dao中的save方法执行了...");}@PostConstruct//初始化方法注解public void init(){System.out.println("init初始化..........");}@PreDestroy//销毁方法注解public void destroy(){System.out.println("destroy销毁..........");}
}

5.测试-3-和-4-实例测试类

    @Testpublic void test1(){//需求:从spring容器中获取userService对象,并调用save方法//1 创建spring容器对象ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");//2 从spring容器中获取userService对象//UserService userService = (UserService) ac.getBean("userService");//UserService userService = ac.getBean(UserService.class);UserService userService = ac.getBean("userService", UserService.class);//3 调用save方法userService.save();}打印结果:
-------------------------------------------------------
init初始化..........
UserServiceImpl save is running...20
dao中的save方法执行了...

注:由于destroy销毁方法即执行方法时jvm已经关闭,所以未打印;需要打印则接收类要换成ClassPathXmlApplicationContext,使用里面的close()方法关闭

spring注解注入IOC相关推荐

  1. JAVA_OA管理系统(四)番外篇:使用Spring注解注入属性

    本文介绍了使用Spring注解注入属性的方法.使用注解以前,注入属性通过类以及配置文件来实现.现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifier,@Pos ...

  2. Spring依赖注入IOC(给字段赋值)和Spring测试

    含义: IOC是一种思想,它的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象.这一点是通过DI(Dependency Injection,依赖注入)来实现的:Spring中对象的属性字 ...

  3. Spring注解注入

    spring注入方式-----注解注入 (1)操作: 首先在要注入的类前面加上: @Component(与后面三个是等价的)@Repository(持久层),@Service业务层,@Controll ...

  4. spring注解注入详解

    1.Spring配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...

  5. 3、spring注解注入

    1.写需要注解注入的类: Propertie.java package study; public class Propertie { public void show() { System.out. ...

  6. 使用spring注解注入bean

    使用配置文件时一般是这样写的 <bean id="person" class="com.spring.bean.Person" ><prope ...

  7. spring注解注入属性

    转载于:https://www.cnblogs.com/hwgok/p/6751866.html

  8. Spring依赖注入:注解注入总结

    更多11 spring 依赖注入 注解 java 注解注入顾名思义就是通过注解来实现注入,Spring和注入相关的常见注解有Autowired.Resource.Qualifier.Service.C ...

  9. 【Spring学习】spring依赖注入用法总结

    顾名思义就是通过注解来实现注入,Spring和注入相关的常见注解有Autowired.Resource.Qualifier.Service.Controller.Repository.Componen ...

最新文章

  1. 【干货】iOS9的新特性UI Tests
  2. Android学习笔记之SoftReference软引用,弱引用WeakReference
  3. javascript动态创建可拖动、最大化、最小化的层
  4. Hive基本操作,DDL操作(创建表,修改表,显示命令),DML操作(Load Insert Select),Hive Join,Hive Shell参数(内置运算符、内置函数)等
  5. nginx和pcre错误问题
  6. 基础排序算法 – 冒泡排序Bubble sort
  7. 越来越受欢迎的Vue想学么,90后小姐姐今儿来教你
  8. mysql记录虚拟货币数据类型_近几年虚拟货币应用情况的相关数据
  9. C#二进制流的序列化和反序列化操作
  10. 25 The Go image/draw package go图片/描绘包:图片/描绘包的基本原理
  11. Windows系统历史版本简介
  12. 贴片二极管外形封装资料
  13. python如何定义类_python中如何定义类
  14. 题解 CF1389B 【Array Walk】
  15. uestc 1593 老司机破阵(线段树 or multiset)
  16. qt opengl 混合实现半透明
  17. 7-21 九宫格输入法 (15 分)
  18. 迷你世界滑动方块机器人怎么做_迷你世界可移动机器人详细教程和存档
  19. 用netty实现zcool_Netty 系列一(核心组件和实例).
  20. 更换移动硬盘显示图标

热门文章

  1. AGC023D - Go Home
  2. P4248 [AHOI2013]差异
  3. 【每日一题】7月9日题目 Color
  4. CF1270H Number of Components(线段树)
  5. P5110-块速递推【特征方程,分块】
  6. Loj#6053-简单的函数【Min25筛】
  7. 牛客练习赛52-记录
  8. hdu4965-Fast Matrix Calculation【矩阵乘法】
  9. P4549-[模板]裴蜀定理
  10. P3914-染色计数【树形dp】