欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

javaSpring学习总结day_02

程序员文章站 2022-05-31 18:53:34
使用注解注入: ......

使用注解注入:

1.用于创建bean对象
@component:
作用:相当于配置了一个bean标签
位置:类上面
属性:value,含义是bean的id,当不写时,有默认值,默认值是当前类的短名,首字母小写
由此注解衍生的三个注解:
@controller 一般用于表现层注解
@service 一般用于业务层
@repository 一般用于持久层
他们和@component的作用及其属性都是一模一样的
 2.用于注入数据的
@authowired
作用:自动按照类型注入。只要有位移的类型匹配就可以。
当我们使用注解注入时,set方法就不是必须的。
如果注入的bean在容器中不唯一,他会把变量名称作为bean的id,在容器中查找,找到后也能注入成功
如果没有找到一致的bean的id时,则报错
@qualifier  :@qualifier("beanid") 或 @qualifier(value = "beanid")  当"="号前面为value且注解只有一个属性时可以省略赋值名value不写
      @authowired
      @qualifier("beanid")
      class classname;
      或:
      @authowired
      public void setname(@qualifier("beanid") class classname){}
作用:在自动按照类型注入的基础上,再按照bean的id注入。他在给类成员注入数据时,不能独立使用,但是给方法的形参注入数据时们可以独立使用
属性:
value:用于指定bean的id
@resource  :@resource(name = "beanid")
作用:直接按照bean的id注入
属性:
name:用于指定bean的id
以上三个注解都是用于注入其他bean类型的。用于注入基本类型和string类型需要使用value
@value:
作用:用于注入基本类型和string类型数据,它可以借助spring的el表达式读取properties文件中的配置
属性:
value:用于指定要注入的数据
3.用于改变作用范围的
@scope:
作用:用于改变bean的作用范围
属性:
value:用于指定范围的取值,取值和xml中scope取值一样:
singleton prototype request session globalsession
4.spring的新注解
    @bean 把方法的返回值存入spring容器中,该注解有一个属性,name:用于指定bean的id,当不指定时,有默认值,默认值是方法的名称
   @configuration 把当前类看成spring的配置类
   @import 导入其他配置类       @import(jdbcconfig.class)
   @propertysource 导入.properties资源文件 @propertysource("classpath:config/jdbcconfig.properties"
 使用注解注入时,需要在bean.xml中配置:
      <context:component-scan base-package="包名"/>
  这是用来告知spring在创建容器时要扫描的包,当配置了这个标签后,spring创建容器就会去指定的包下找对应的注解
  这个标签是在一个context的名称空间里面,所以必须先导入context的包
除此之外,可以不在bean.xml中配置也可以做到这种效果:
  首先需要先创建一个java类,然后在这个类的上方使用@configuration标签,就把当前类看做成spring的配置类
  然后,使用@componentscan(basepackages = "包名")标签,就可以达成<context:component-scan base-package="包名"/>的效果