IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 一篇全了解Spring全注解详解 -> 正文阅读

[Java知识库]一篇全了解Spring全注解详解

目录

用于创建对象

? ? ? ? 1.Component? ? ? ? ? ? ??

? ? ? ? 2.Controller

? ? ? ? 3.Service

? ? ? ? 4.Repository

用于注入数据

? ? ? ? 1.Autowired

? ? ? ? 2.Qulifier

? ? ? ? 3.Resource

? ? ? ? 4.Value? ? ? ? ? ??

用于改变作用范围

? ? ? ? 1.Scope? ? ? ? ? ? ? ?

和生命周期相关

? ? ? ? 1.PreDestroy

? ? ? ? 2.PostConstruct

? ? ? ?

配置类

? ? ? ? 1.Configuration????????????????? ? ? ? ? ? ??

? ? ? ? 2.ComponentScan????????????????

? ? ? ? 3.Bean????????? ? ? ?

? ? ? ? 4.PropertySource? ? ? ? ? ? ?

? ? ? ? 5.EnableTransactionManagement? ?

? ? ? ? 6.EnableAspectJAutoProxy? ? ? ? ? ?

? ? ? ? 7.Transaction

? ? ? ??8.Aspect? ??

整合Junit

? ? ? ????????? 1.RunWith(SpringRunner.class)

? ? ? ? ? ? ? ? 2.ContextConfiguration? ? ??


用于创建对象

? ? ? ? 1.Component? ? ? ? ? ? ??

????????????????作用:用于把当前类对象存入spring容器中

????????????????属性:

????????????????value:用于指定bean的id 当我们不写时 它默认是当前类名 首字母改小写

? ? ? ? 2.Controller

????????????????用于表现层

? ? ? ? 3.Service

????????????????用于业务层

? ? ? ? 4.Repository

????????????????用于持久层

用于注入数据

? ? ? ? 1.Autowired

????????????????作用:

????????????????自动按照类型注入 只要容器中有唯一一个bean对象类型和要注入的变量类型匹配 就

????????????????可以注入成功

????????????????如果ioc容器中没有任何bean的类型和要注入的变量类型匹配 则报错

????????????????如果ioc容器中有多个bean类型 则按照变量名注入

????????????????出现位置:

? ? ? ? ? ? ? ? 可以是变量上 也可以是方法上

? ? ? ? ? ? ? ? 细节:

? ? ? ? ? ? ? ? 在使用注解注入时 set方法就不是必须的

? ? ? ? 2.Qulifier

????????????????作用:

????????????????在按照类中注入的基础之上再按照名称注入 它在给类成员注入时不能单独使用 但是

????????????????在给方法参数注入时可以

????????????????属性:

????????????????value:用于指定注入bean的id

? ? ? ? 3.Resource

????????????????作用:

????????????????直接按照bean的id注入 它可以单独使用

????????????????属性:

????????????????name用于指定bean的id

? ? ? ? 4.Value? ? ? ? ? ??

????????????????作用:

????????????????用于注入基本类型和String类型的数据

????????????????属性:

????????????????value:用于指定数据的值 它可以使用spring中SpEl(也就是spring的el表达式)

????????????????SpEl的写法:${表达式}

用于改变作用范围

? ? ? ? 1.Scope? ? ? ? ? ? ? ?

????????????????作用:

????????????????用于指定bean的作用范围

????????????????属性:

????????????????????value指定范围的取值 常用取值 singleton prototype

和生命周期相关

? ? ? ? 1.PreDestroy

????????????????作用:

????????????????????用于指定销毁方法

? ? ? ? 2.PostConstruct

? ? ? ? ? ? ? ?作用:

????????????????????用于指定初始化方法

? ? ? ?

配置类

? ? ? ? 1.Configuration????????????????? ? ? ? ? ? ??

?????????????作用:

? ? ? ? ? ? ?指定当前类是一个配置类

? ? ? ? 2.ComponentScan????????????????

????????????????作用:

????????????????用于通过注解指定spring在创建容器时要扫描的包

????????????????属性:

????????????????value:它和basePackages的作用时一样的 都是用于创建容器时要扫描的包

????????????????细节:

? ? ? ? ? ? ? ? 当配置类作为AnnotationConfigApplicationContext对象的参数时 该注解可以不写

? ? ? ? 3.Bean????????? ? ? ?

????????????????作用:

????????????????用于导入其他的配置类

????????????????属性:

????????????????用于指定其他配置类的字节码

????????????????当我们使用Import的注解之后 有Import注解的类型就是父配置类 而导入的都是子配置类

? ? ? ? 4.PropertySource? ? ? ? ? ? ?

????????????????作用:

????????????????用于加载.properties文件中的配置
????????????????属性:

????????????????value[]:用于指定properties文件位置 如果是在类路径下 需要写上classpath

????????????????细节:

???????????????必须是从spring容器获取的才能注入 new的对象跟spring没有任何关系

? ? ? ? 5.EnableTransactionManagement? ?

????????????????作用:

????????????????????配置类开启事务支持

? ? ? ? 6.EnableAspectJAutoProxy? ? ? ? ? ?

????????????????作用:

????????????????????配置类开启切面

? ? ? ? 7.Transaction

????????????????作用:

????????????????????控制事务提交/回滚 作用于类上

? ? ? ??8.Aspect? ??

????????????????作用:

????????????????????声明这个类是一个切面类

整合Junit

? ? ? ????????? 1.RunWith(SpringRunner.class)

????????????????????????使用Junit提供的一个注解把原有的main方法替换了 替换成spring提供的@Runwith

? ? ? ? ? ? ? ? 2.ContextConfiguration? ? ??

????????????????????????locations:指定xml文件的位置 加上classpath关键字 表示在类路径下

????????????????????????Classes:指定注解类所在地位置

????????????????????????当我们使用spring 5.x版本的时候 要求junit的jar必须4.12及以上

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 13:41:02  更:2021-12-08 13:41:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:24:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码