zoukankan      html  css  js  c++  java
  • Java框架 ------- spring 借助注解(autowired,resoutce,componet)

    一、对注入对象的注解

    1、在applicationContext.xml 中添加

    <context:annotation-config/>

    声明使用注解的方式进行配置

    并在student 的bean 中将,引用的class 类注释掉,不在bean 中引用

     这时在执行会报错找不到

    要达到上述注释语句相同效果,

    1、在student 的model类中使用 @Autowired 注解在 class 类变量或setter() 方法上声明

    @Autowired :用于对 Bean 的属性变量、属性的 Set 方法及构造函数进行标注,配合对应的注解处理器完成 Bean 的自动配置工作。默认按照 Bean 的类型进行装配

     2、@Resource其作用与 Autowired 一样。其区别在于 @Autowired 默认按照 Bean 类型装配,而 @Resource 默认按照 Bean 实例名称进行装配。

    @Resource 中有两个重要属性:name 和 type。
    Spring 将 name 属性解析为 Bean 实例名称,type 属性解析为 Bean 实例类型。如果指定 name 属性,则按实例名称进行装配;如果指定 type 属性,则按 Bean 类型进行装配。
    如果都不指定,则先按 Bean 实例名称装配,如果不能匹配,则再按照 Bean 类型进行装配;如果都无法匹配,则抛出 NoSuchBeanDefinitionException 异常。

    二、对Bean 的注解

    1、在applicationContext.xml 中将bean 去掉只留下 

    <context:component-scan base-package="com.obge.model"/>

    2、借助@Component 注解直接在实体类中进行声明该类为bean

    @Component:可以使用此注解描述 Spring 中的 Bean,但它是一个泛化的概念,仅仅表示一个组件(Bean),并且可以作用在任何层次。使用时只需将该注解标注在相应类上即可。

      运行测试

  • 相关阅读:
    JavaScript 简单说明(一)
    把mysql5.7源码包生成rpm包
    CentOS下pythonsqlite3安装
    No module named 'MySQLdb' python3.6 + django 1.10 + mysql 无法连接
    python3不再支持mysqldb 请用pymysql和mysql.connector
    元素的自定义特性
    获取元素的页面位置,兼容各浏览器
    通过正则格式化url查询字符串
    borderimage属性在chrome中的不同效果
    获取页面元素的滚动位置,兼容各浏览器
  • 原文地址:https://www.cnblogs.com/obge/p/14649153.html
Copyright © 2011-2022 走看看