zoukankan      html  css  js  c++  java
  • 各种注解的应用

    @Autowired用在字段上 或者用在对应的setter方法上 也可以(既会返回字段的注解 也会返回方法的注解 ) @Autowired注解是按 类型装配 对象 该注解有一个required属性 ,该属性取值为true或false true表示字段是必须要装配的 如果在spring容器中没有找到对应的bean 则抛出异常 false 表示字段不是必须要装配的 如果在spring容器中能找到 则装配 如果找不到 则装配为null @Autowired自动装配既可以在注解的组件中装配 也可以在xml中配置的组件中装配 (即在xml和包中找 ) @Autowired的作用是 自动装配,自动根据属性的类型,在spring ioc容器所有资源中找对应类型的bean! 1. applicationContext.xml中找 2. 扫描的包下找 决定能不能找到匹配的bean的必要条件: 1. 类型要与Car一致 2. 要被spring容器管理 结果: 找不见: 且@Autowired(required = true)时,就报错 且@Autowired(required = false)时,就不报错,不注入了! @Autowired注解 找见2个类型与Car一致的 --> xml中有, 扫描的包中也有, 最终用扫描包中的那个 --> xml中2个。报错 ========================================================================================================= @Resource的作用是 1. 先按照被@Resource注解的属性名称来装配,如果找不见指定的名称,就进入第二部 2. @Resource就变得跟@Autowired一样了! 思考,如果按照名称找见了, 且找见了2个名称匹配的bean,一个在xml中,一个在被扫描的包中,最终使用xml中的 ========================================================================================================= @Resource注解和@Autowired一样,也可以标注在字段或属性的setter方法上,但他默认按名称装配,如果 按名称装配找不到对象,@Resource注解就会按类型装配 ,但如果有多个匹配的类型就会报错。例子如下: c是名称(先导xml里面找) Car是类型(再到类里面找)如果名称找得到就不按类型找, @Resource注解 ============================================================================================================ @Componet 加这个注解 是让容器进行管理 @Aspect 加这个注解 告诉容器 他不仅仅是一个普通组件 它是一个切面 @Before 前置通知 @After后置通知(value="execution(* * .* (..))")第一个*表示任何访问修饰符 任何返回值类型 第二个* 表示 任意包中的任意类 第三个*表示 任意方法 两个点表示任意参数 ================================================================================================================= 让容器管理 用 @Repository (放到类放到类上面 业务层用 ) @Autowired (按类型装配 它先在xml里面找 ) 业务层管理事务(例子 银行转账 钱不够会自动回滚) 开业务 回滚业务 提交事务(属于横切关注点 ) 核心业务是转账功能(核心业务关注点) 当一个业务有许多需求的时候 就要加切面 简化代码的冗余 提高可读性 ================================================================================================================= 注解的应用场景 业务层用 @Service Dao层 用 @Repository 控制层 用@Contrller 分不清的时候用 @Componet ================================================================================================================= 核心业务和横切关注点分离 ================================================================================================================= 声明式事务 连切面都不用定 (切面和环绕通知都不用写了 因为进行了封装 ) =================================================================================================================
  • 相关阅读:
    考研机试 45.skew数
    考研机试 39.大整数因子
    考研机试 37.小白鼠排队
    考研机试 36.中位数
    考研机试 35.最简真分式
    考研机试 30.进制转换
    软工实践第一次作业
    [CF767D] Cartons of milk
    [CF687C] The Values You Can Make
    [CCPC2020绵阳H] Hide and Seek
  • 原文地址:https://www.cnblogs.com/wangchao422/p/9648203.html
Copyright © 2011-2022 走看看