spring IoC注解

三、spring之IOC注解

多spring配置文件的使用(分模块开发,每个模块可能有自己的spring配置文件)

在这里插入图片描述
在这里插入图片描述

(一)、搭建使用注解的方式 ioc注解

1. 有xml配置文件(xml配置+注解组合使用)

第一步、要使用注解,需导入aop包
第二步、在配置文件头部加入context的schema
在这里插入图片描述

使用配置文件使用 <context:component-scan>
<context:component-scan>组件扫描,扫描里边有标注@Component, @Repository, @Service, @Controller的类变成组件,把这些类注册到spring ioc容器中,等价于在配置文件中使用

<bean id="" class="">
<context:component-scan base-package="org.lanqiao.entity"></context:component-scan>

把entity包下的有注解的类注册到spring ioc容器中

第三步、使用注解
@Component 注解
@Repository, 专门注解到dao层
@Service, 专门注解到service层
@Controller 专门注解到controller层

@Lazy懒加载
@Scope(“singleton”)
@Scope(“prototype”)

2. 零配置(没有xml文件,全部用配置类)

(1)使用@Bean进行注册(缺点:每一个类都要手动编写注册)
在这里插入图片描述

(2)不使用@Bean注解(缺点:)

在这里插入图片描述
在这里插入图片描述

(二)、使用其他注解 DI依赖注入注解

1.使用xml的属性注入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.使用注解来完成DI注入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

@Autowired 等价于byType,按类型进行注入,优先查找类型,类型匹配不成功或有多个,继续按 名称进行查找组合查找注入(优先根据名字)

  • @Autowired

  • @Qualifier(“studentDao2”)//byName

  • @Autowired(required=true) true:必须能注入值进来,默认的,在ioc容器找不到匹配就会抛异常
    false:在ioc容器找不到的时候注入null进来,不会抛异常

  • @Primary 设置主要类,当ioc容器中调用@autowire自动注入时,因按类型匹配注入,当出现多个同一类型的bean时,优先选择设置了@primary的bean,而不会报错

  • @Resource//byName按名称查找 @Resource(name=“studentDao2”)

  • @Value 基本值的注入
    在这里插入图片描述

注解方式导入属性文件:
在这里插入图片描述

xml方式导入属性文件
在这里插入图片描述

使用@Value进行值的注入
在这里插入图片描述

@PostConstruct, 注解到方法上
@PreDestroy 注解到方法上

使用注解的地方:
spring注解 java注解 springmvc注解 springboot注解

注解和xml同时使用
使用配置类作为主导文件
在这里插入图片描述
在这里插入图片描述

使用xml文件作为主导配置文件
在这里插入图片描述

总结:IOC和DI相比传统的方式如何实现解耦的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值