美文网首页
Spring框架学习笔记----基于注解配置

Spring框架学习笔记----基于注解配置

作者: 没天赋的学琴 | 来源:发表于2017-08-11 17:25 被阅读0次

  Bean的元数据配置,除了可以通过xml文件来配置,还可以通过注解来进行配置。比较常用的注释有:@Required,@Autowired,@Qualifier还有一些JSR注解。


@Required

  @Required主要是用来标注set方法,被标注的set方法,一定要在配置文件里进行显示说明配置,否则会抛出 BeanInitializationException。

@Required注解 必须配置

@Autowired

  @Autowired可以用来标注属性和标注方法。当用@Autowired对属性进行标注时,可以将属性的set方法删去,并且不需要在配置文件中显示配置,IoC就会通过byType(自动装配的一种方法)的方式自动将数据注入到bean中。 

对headteacher属性和classroom属性进行配置 bean的配置文件 测试代码 测试结果

  可以看到,不需要再在student的bean里面显示声明就会自动注入到对象中。

  当@Autowired注释到构造方法上的时候,则将会对该方法的参数进行自动配置。

@Autowired注释到构造方法

bean的配置文件,再运行时得到的结果与注释到set时是一样的。

  @Autowired注解到其他方法时,与注解到成员变量时类似。当某些属性被设置成@Autowired时,若在配置文件中不存在相应的bean,则会跳出相应的异常;这时,可以通过@Autoowired(required=false)来跳过该类的配置。


@Qualifier

  若在bean的xml文件中加入多个同样是Classroom类的bean时,Spring在构造时会默认选择第一个bean。若想指定相应的bean,可以通过@Qualifier注解,通过@Qualifier(“bean的id”/“qualifier的value值”),就可以指定注入相应的bean。

@Qualifier注解 多个同类型bean 通过不同<qualifier>的值来指定bean 测试结果

@Component

  @Component注解主要是将一个类声明成对应xml文件里的一个bean标签

@Component注解 测试结果

  使用@Component注解,相当于在配置文件中写下:<bean id="senior" class="edu.stu.pojo"/>,还有其他类似的注解,如:@Reposity、@Service、@Controller这些注解的作用和@Component类似,只是其代表着的是不同的层(持久层、服务层和控制层),而@Component主要是用在较为中立的层中。


使用JSR注释

  Spring还支持JSR规范的注释

@Resource

  @Resource与@Autowired的注释作用相似,可是@Resource可以制定ByType或者通过ByName方法来进行自动配置;当只是使用默认的@Resource时,其实按照ByType的方式来进行自动配置;而当加入属性name时,则会按照ByName方式来实现自动配置。

通过@Resource进行自动配置 新的bean配置文件 测试结果

  若是将name属性删去,因为有多个classsroom的bean,所以运行结果则会抛出NoUniqueBeanDefinitionException的异常。


反思感受

  通过注解来对bean进行配置,其实本质上还是需要编写xml文件,只是利用注解,可以在一定程度上简化xml文件的编写。

  其实Spring支持的JSR规范还有其他,上面只是简单地介绍@Resource注解;在使用JSR注解之前,需要注册BeanPostProcessor,使用的是下面的语句

注册BeanPostProcessor

  可是可以通过<context:annotion-config/>来简化相应的配置。

相关文章

  • Spring之使用注解配置Spring AOP

    Spring框架通过注解配置AOP是基于AspectJ实现的。 Spring框架只是直接使用了AspectJ的注解...

  • Spring框架学习笔记----基于注解配置

    Bean的元数据配置,除了可以通过xml文件来配置,还可以通过注解来进行配置。比较常用的注释有:@Require...

  • Spring学习笔记

    Spring基于XML方式的容器配置 Spring基于注解方式的容器配置 Spring基于Java方式的容器配置

  • 5.Spring 基于注解的配置

    1.Spring 基于注解的配置 基于注解的配置 从 Spring 2.5 开始就可以使用注解来配置依赖注入。而不...

  • Spring面试题和答案<3>

    Spring注解 36. 什么是基于Java的Spring注解配置? 给一些注解的例子. 基于Java的配置,允许...

  • Spring全解系列 - @Import注解

    本文基于 Spring 5.2.x @Import注解 @Import是Spring基于 Java 注解配置的主要...

  • Spring 注解使用

    常用注解 Spring中有三种配置方式:基于XML的配置、基于注解的配置、基于Java的配置。 使用原则: 1、S...

  • Spring4-2-AOP配置

    一.AOP概念 二.AOP术语 三.Spring AOP框架AspectJ配置使用(基于注解的方式) (1)必要的...

  • Spring注解配置和xml配置优缺点比较

    Spring注解配置和xml配置优缺点比较 编辑 ​ 在昨天发布的文章《spring boot基于注解方式配置da...

  • Spring注解

    简书日更 第4篇: 重新学习 Spring注解 相关知识 什么是基于Java的Spring注解配置? 给一些注解的...

网友评论

      本文标题:Spring框架学习笔记----基于注解配置

      本文链接:https://www.haomeiwen.com/subject/gqgfrxtx.html