使用注解annotation实现依赖注入(DI)

DI(依赖注入)功能使用注解annotation实现

spring的控制反转:由spring创建对象,控制权的转移,DI(依赖注入)是最明显的特征。

**MVC模式常用的注解**:
<!-- 
	加载配置文件之后,扫描com.zhiyou100下的所有子包,当在包中扫描到类带有注解,那么管理该类
    @Repository  用在MVC中的Dao层
    @Service 	  用在MVC中的服务层
    @Controller  控制,不能使用Component替换
    @Component	 如果该类不好划分范围,但是需要交给spring管理。可以替换Repository和Service
    这些注解应使用在功能类的头部
    
	注解的使用:Annotation
	使用位置
	1、属性中 限定属性的类型和作用等
	2、方法上 对方法进行限定
	3、用在类上 对类进行限定,声明类的作用
	使用时间:
	1、源代码	2、编译期	3、运行时
-->

1、在spring.xml中配置

<!-- 
	扫面这个包,或者子包下的类。
	如果扫描到头部有注解@Component,将此类初始化
	初始化时默认调用无参的构造方法,并且对象名默认是类名首字母小写
-->
 <context:component-scan base-package="com.aaa" />

2、在功能类的头部加上注解
在这里插入图片描述
这里UserServiceImpl中有一个属性userDaoImpl还没有赋值
(1)首先找到相应的类,头部加上@Repository,实例化一个对象
在这里插入图片描述
(2)在对应的set方法头部加上@AutoWired,在bean集合中找合适的对象赋值
i.首先按照byName
ii.byName如果找不到,按照byType
有两种方式可以选择,一个是加到set方法的头部,
在这里插入图片描述
一个是加到属性的头部,推荐加到属性的头部,一般项目开发中属性,只在本类中使用
在这里插入图片描述
(3)@Resource作为了解,一般使用@AutoWired

3、测试
在这里插入图片描述

4、使用@Scope设置单例模式还是原型模式
在这里插入图片描述5、使用@PostConstruct,@PreDestroy来了解生命周期的问题
在这里插入图片描述

最后,到底是用xml还是使用注解annotation
a、注解开发相对简单,但它只能写在java源文件上。
b、使用相对复杂,适用于任何情况
c、如果对象所在的类是在jar文件中,只能使用xml配置引用。如果是自己定义的类,使用xml或者annotation自己随意
d、开发中spring,一般注解和xml结合起来使用,视情况而定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值