Spring学习笔记(四):IOC基于注解方式操作Bean管理

1>IOC操作Bean管理:基于注解方式介绍
 1.注解概念
   ⑴注解是代码特殊标记,格式:@注解名称(属性名称=属性值···)

   ⑵注解标记范围,类、方法、属性

   ⑶使用注解目的:简化XML配置

 2.Spring针对Bean管理中创建对象提供的注解
   ⑴@Conponent:通用注解

   ⑵@Service:通常用于业务层注释

   ⑶@Contruller:通常用于Web层注释

   ⑷@Repository:通常用于持久层(Dao层)注释

   ⑸四个注释的功能是一样的,都可以用来创建对象

2>基于注解方式:创建对象的步骤
 1.引入依赖spring-aop-5.2.6.RELEASE.jarpring-aop.jar

 2.开启组件扫描,XML文件识别规定路径下的注释内容
   ⑴如果扫描多个包,多个包使用逗号隔开,也可以直接扫描包的上层目录。

<!--12.1组件扫描-->
    <context:component-scan base-package="com.company"></context:component-scan>

   ⑵在需要用注解方式创建的类上面加上可被XML解析识别的注解

   ⑶Spring针对Bean管理中创建对象提供的注解的value属性是用来标识当前类(相当于bean标签中的id值),默认值是类名称的第一个字母小写

//注解value的值不写也可以,默认是当前类的第一个字母小写
@Service(value = "userService")
public class UserService {

   ⑷组件扫描其他配置详情分析

      ①user-default-filters="false"表示现在不使用默认的filter,使用自己配置的filter,context:include-filter,是指需要扫描的注释

<!--12.2组件扫描其他分析-->
    <context:component-scan base-package="com.company" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/>
    </context:component-scan>

      ② context:exclude-filter,设置不进行扫描的注释内容

	<context:component-scan base-package="com.company">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Component"/>
    </context:component-scan>

3>基于注解方式:注入属性
 1.可以注入属性的标签@Autowired,@Qualifier,@Resource,@Value

 2.@Autowired:使用在字段上用于根据类型依赖注入,使用该注解定义属性,不需要添加该属性的Set方法

 3.@Qualifier:结合@Autowired一起使用用于根据名称进行依赖注入

   ⑴@Qualifier注解用来标识是调用哪一个Bean类

   ⑵注意:需要加载的Bean类也要加上注解,XML加载时才会扫描到他,进行加载

   ⑶注意:Value值填的是Bean类的注解的唯一标识值,如果未指定,是其Bean类的首字母小写
在这里插入图片描述

 4.@Resource:相当于@autowired+@Qualifier,按照名称进行注入

   ⑴用name属性来标识调用的Bean类

 	@Qualifier(value = "daoImpl2")
    private Dao dao;

 5.@Value:注入普通类型属性

	@Value(value="abc")
    private String name;

4>完全注解开发
 1.创建配置类,完全替代XML配置文件

   ⑴为该类添加注解@Configuration,以示是注解配置类

   ⑵添加注解@ComponentScan,设置注解扫描路径

@Configuration //作为配置类,替代XML配置文件
@ComponentScan(basePackages = "com.compony")//扫描路径
public class AnnotationConfig {
}

 2.测试类获取IOC容器的语句

ApplicationContext context
                =new AnnotationConfigApplicationContext(AnnotationConfig.class);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值