注解配置

Spring不会自动寻找注解,需主动声明需要在哪些包中寻找注解
修改配置文件:
添加工作空间:xmlns:context和xsi:schemaLocation
声明注解在的包:

<context:component-scan base-package="包名,包名"/>

常用注解

将对象交予容器管理

①@Component("") 相当于<bean/>,括号内为该对象在容器中的id,默认首字母小写
②@Service与@Component功能相同,一般用于ServiceImpl上
③@Respoitory与@Component功能相同,一般用于数据访问层
④@Controller与@Component功能相同,一般用于控制器,被SpringMVC容器管理

例,通过.getBeanDefinitionNames()方法检测:
可以发现,除了我们自己用注解交给容器管理的对象外,还有一些扫描注解依赖的对象

注入属性值

⑤@Resource java中的注解,默认按照byName,若无名称,则按照byType
使用在属性之上,并且不需要属性的set方法,建议把属性名称和引用名相同,提高寻找效率
⑥@Autowired spring的注解,默认按照byType,并且不需要属性的set方法
⑦@Value()获取properties文件中的内容
例:

注解基于Aspect实现 AOP

前提:

<!-- 设置注解完成AOP --><aop:aspectj-autoproxy></aop:aspectj-autoproxy>

①对于切点,在方法前加@Pointcut(“execution(* 包名.类名.方法名())”),相当于<pointcut/>
②前置通知,通知方法类前加@Aspect与@Component,具体方法前加@Before(“切点的包名.类名.方法名()”)
③其他同前置,后置(@After),异常(@AfterThrowing),环绕(@Around)
若环绕和前后置同时配置,环绕一般在前置/后置之前

Ps:此处需要注意的是,Spring AOP默认使用的是JDK动态代理,而我们设置的通知方法类若不是继承自接口的话,需修改动态代理方式为CGLIB:
需要在配置文件进行修改:

<aop:aspectj-autoproxy proxy-target-class="true"/>
<!--true:cglib动态代理,false:jdk动态代理(默认值,此时需要接口来获取代理对象)-->

例:

Spring框架 注解相关推荐

  1. Java扫描配置文件的注解_详解Spring框架注解扫描开启之配置细节

    前言 Spring框架对Bean进行装配提供了很灵活的方式,下面归纳一下主要的方式: 在XML中进行显示配置 在Java中进行显示配置 隐式的bean发现机制和自动装配 而自动装配实现就需要注解扫描, ...

  2. java spring框架 注解_spring框架之注解的使用

    原标题:spring框架之注解的使用 今天是刘小爱自学Java的第122天. 感谢你的观看,谢谢你. 学习内容安排如下: Spring注解的使用. JavaWeb项目的搭建. Spring的Web集成 ...

  3. java spring框架 注解_史上最全的java spring注解

    史上最全的java spring注解,没有之一 注解是个好东西,但好东西我们也是看见过,整理过,理解过,用过才知道好.不求我们每个都记住,但求保有印象,在需要的时候能提取出来再查找相关资料,平时工作就 ...

  4. 浅谈Spring框架注解的用法分析

    1.@Component是Spring定义的一个通用注解,可以注解任何bean. 2.@Scope定义bean的作用域,其默认作用域是"singleton",除此之外还有proto ...

  5. java spring框架 注解_详解Java的Spring框架中的注解的用法

    1. 使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的类的实现: class UserManagerImpl implements UserManager { private ...

  6. 浅谈 Spring 框架注解的用法分析

    1.@Component是Spring定义的一个通用注解,可以注解任何bean. 2.@Scope定义bean的作用域,其默认作用域是"singleton",除此之外还有proto ...

  7. spring框架注解多?注解到底是个什么东西?这篇文章给你讲明白

    目录 什么是注解 内置注解: 元注解: 自定义注解: 什么是注解 1.Annotation是从JDK5.0开始引入的新技术. Annotation的作用: 2.不是程序本身,可以对程序作出解释.(这一 ...

  8. Spring框架针对dao层的jdbcTemplate操作crud之query查询数据操作

    查询目标是完成3个功能: (1)查询表,返回某一个值.例如查询表中记录的条数,返回一个int类型数据 (2)查询表,返回结果为某一个对象. (3)查询表,返回结果为某一个泛型的list集合. 一.查询 ...

  9. 史上最全面最易懂的,Spring框架学习教程

    Spring通过PlatformTransactionManager平台事务管理器接口对事务的管理进行高度抽象,但是该接口下具体的实现是由各个平台自己实现,Spring并不直接管理事务,而是提供了多种 ...

最新文章

  1. 【我的Android进阶之旅】推荐一款能提升数十倍效率的Android应用开发助手
  2. FFmpeg 与媒体文件关系
  3. 受制于传统 三星企业文化革新任重道远
  4. 通过Dapr实现一个简单的基于.net的微服务电商系统(十七)——服务保护之动态配置与热重载...
  5. mysql ssd tps 上不去_转【案例分享】压测TPS上不去
  6. 质量体系审核中的10大常见场景,你遇到了几个?
  7. coco2dx c++ HTTP实现
  8. 【java】java 的网络地址类 InetSocketAddress
  9. ++代码实现 感知机的原理_决策树ID3原理及R语言python代码实现(西瓜书)
  10. HTML页面加载顺序
  11. 利用WPF建立自己的3d gis软件(非axhost方式)(四)在地图上添加FrameworkElement
  12. NAT综合实验(华为)
  13. 2022年各国程序员薪资排名
  14. 汇智创科机器人,汇智创科机器人加盟
  15. 手机怎么拍照点数?好用的拍照点数方法来啦
  16. 老黄历吉日吉时查询接口实现及代码示例
  17. 向上取整⌈⌉和向下取整⌊⌋符号
  18. Arduino整型字符串互转
  19. 【CF718E】Matvey's Birthday BFS+动态规划
  20. Flink启动报错could not be determined automatically

热门文章

  1. Intellj IDEA 注册码 2018
  2. Redis面试 - 集群模式
  3. 使用kubeadm安装Kubernetes
  4. 最全免费C语言之苏小红版《高级语言程序设计》第七章188页小学计算机辅助教学系统程序设计
  5. java异常处理简介_【自学java】异常处理简介
  6. java中什么是释放已经持有的锁_java多线程什么时候释放锁
  7. C#设计模式之16-迭代器模式
  8. serverless 构建_使用Serverless,StepFunction和StackStorm Exchange构建社区注册应用程序-第2集...
  9. fcn从头开始_从头开始有营销问题
  10. 104_Power Query 数据库条件查询