SSM第八天 spring注解开发(半注解,半XML)

11 篇文章 0 订阅

spring注解开发

使用注解之前要在配置文件中设置对包的扫描,以及context约束

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    <context:component-scan base-package="com.xp"></context:component-scan>
</beans>

四类注解:

用于创建对象的(xml中的)
  • @Component
    • 使用位置:需要交给spring的类上面
    • 作用: 用于把当前类对象存入spring容器
    • 属性: value用于指定bean中的id,不指定时,默认值是当前类名,且首字母改小写
  • @Controller 一般用于表现层
  • @Service 一般用于业务层
  • @Repository 一般用于持久层
  • 这四个注解的作用和属性是一模一样的,其目的是使我们的三层对象更加清晰.
用于注入数据的(xml中的)
  • @Autowired

    • 使用位置:类成员上,方法上

    • 作用:按照类型注入依赖,只要容器中有唯一一个bean对象类型和要注入的变量类型匹配(其派生类也能匹配),spring就会把这个bean注入给它

    • 说明:如果IOC容器中没有任何bean的类型和要注入的变量类型匹配,则报错,

      如果有多个bean对象类型匹配,那么就会把变量的名称和这多个匹配的bean的id进行进一步筛选

      如果有多个bean对象类型匹配,然而其中又没有一个bean的id与变量的名称相匹配时,则报错

  • @Qualifer

    • 使用位置:使用在类成员上,当使用在类成员上的时候必须和@Autowired配合使用.使用在方法上可以独立使用
      • 作用: 在按照bean对象类型注入的基础上,再按照名称注入,即@Autowired第一次匹配到多个时,就可以用这个注解指定id
      • 属性:value:用于指定注入bean的id
  • @Resource

    • 使用位置:类成员上
    • 作用:直接按照bean的id注入,可以直接使用
    • 属性:name 用于指定bean的id
  • ======以上三种注解都只能注入其他bean类型的数据,而基本类型和String类型无法使用上述注解注入,另外,集合类型只能通过XML注入=

  • @Value

    • 使用位置:类成员上
    • 作用: 用于注入基本类型和String类型
    • 属性:value 用于指定数据的值,它可以使用spring中的SpEL(spring的EL表达式) SpEL写法: ${表达式}
用于改变作用范围的(xml中的scope属性)
  • @Scope
    • 作用:用于指定bean的作用范围
      • 属性: value 指定范围的取值,常用值: singleton(单例),prototype(多例)
和生命周期相关的(int-method和destroy-method)
  • @PostConstruct
    • 使用位置: 方法上
    • 作用:用于指定初始化方法
  • @PreDestroy
    • 使用位置: 方法上
    • 作用: 用于指定销毁方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

climb.xu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值