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【注解】

目录

Spring概述

Spring?Ioc入门

Ioc详情

AOP


Spring概述


?? ??? ?Spring框架是企业使用最多的框架,没有之一。
?? ??? ?Spring是一站式框架,也就是Spring可以整合其他框架。
? ? ????Spring Ioc::对象工厂及依赖注入
? ??????Spring AOP:面向切面编程技术,Spring事务管理的基础
? ? ? ? Spring Transaction management:Spring事务管理
? ? ? ? Spring Web MVC:在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架

Spring?Ioc入门

Ioc 是 Inversion of Control 的缩写,即“控制反转”
?? ??? ?控制反转:将创建对象的权利,由自己(new)反转给Spring

Ioc详情

3.1Bean创建
?? ??? ?在spring 容器中管理的对象,统称为`bean`。例如:UserDao、UserService 等
?? ??? ?@Component?? ?
?? ?-> 将修饰的资源交予Spring管理。value属性:为资源命名(唯一标识)
?? ??? ?@Controller
?? ?-> 衍生注解,与@component作用和属性相同。特用于修饰表示层的资源
?? ??? ?@Service
?? ?-> 衍生注解,与Component作用和属性相同。特用于修饰业务逻辑层的资源
?? ??? ?@Repository
?? ?-> 衍生注解,与Component作用和属性相同,特用于修饰数据访问层的资源
3.2依赖注入(DI)
?? ??? ?什么是DI
?? ??? ??? ?依赖注入(Dependency Injection,Dl)Spring 容器在创建被调用者的实例时,会自动将调用者需要的对象实例注入给调用者

????????


?? ??? ?按照名称注入

????????????????
?? ??? ??? ?
?? ??? ?按照类型注入

????????????????
?? ??? ??? ?
?? ??? ?注入简单数据:@Value
????????????????简单数据:基本数据类型,字符串等
????????????????需要:定义JavaBean对象,给JavaBean对象注入数据
????????????????@Value可以给成员变量注入,也可以给属性注入(getter/setter)
????????????????properties数据注入
????????????????使用@PropertySource("classpath:properties文件")加载properties文件,使用? ? ? ? ? ????????????????@Value("${key}")进行注入


?? ?3.3@Bean注入第三方类
????????????????在实际开发中,有很多第三方提供类(jar包里),需要在spring中使用
????????????????Spring提供@Bean注解,整合第三方类
????????????????@Bean 修饰的方法,如果有参数,将自动注入。
?? ??? ?
?? ?3.4Bean作用域
????????????????bean作用域:一个对象的使用范围
????????????????通过@Scope可以设置Bean的作用域
?? ??? ?
????????????????单例常量:@Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)
????????????????多例常量:@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
? ?
?? ?3.5其它注解
?? ??? ?@Configuration
????????????????用@Con?guration注释类表明其主要目的是作为bean定义的源
????????????????@Con?guration类允许通过调用同一类中的其他@Bean方法来定义bean之间的依赖关系
?? ??? ?@ComponentScan
????????????????@ComponentScan告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并? ? ? ? ? ? ? ? ? 且装入bean容器
?? ??? ?@RunWith就是一个运行器
????????????????@RunWith(JUnit4.class)就是指用JUnit4来运行
????????????????@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境
????????????????@RunWith(Suite.class)的话就是一套测试集合
?? ??? ?????????@ContextConfiguration
?? ??? ??? ??????Spring整合JUnit4测试时,使用注解引入多个配置文件

AOP

介绍
?? ??? ?AOP:全称是Aspect Oriented Programming即:面向切面编程
?? ??? ?面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
? ? ? ? 也就是,使用代理技术,在不修改代码的基础上,对已有方法进行增强
?? ??? ?
? ??
AOP底层分析
?? ??? ?AOP底层采用代理技术
?? ??? ?如果使用的类,底层采用CGLIB代理
????????如果使用的接口+类,底层采用JDK动态代理
?? ??? ??? ?
?? ??? ?
相关术语
?? ??? ?1,目标类 Target:需要被增强的类,代理的目标对象
?? ??? ?2,连接点 Joinpoint:目标类==可能==被增强的每一个方法
?? ??? ?3,切入点 Pointcut:特殊的连接点,已经被增强了
?? ??? ?4,通知/增强 Advice:增强的方法,需要添加的那段增强功能的逻辑代码
?? ??? ?5,切面 Aspect:切入点和通知的结合
?? ??? ?6,织入:增强添加到目标类的具体链接点上的过程
?? ??? ?7,代理 Proxy:一个类被AOP织入增强后,就产生一个结果代理类
?? ??? ?
切入点表达式
? ? ? ? ?作用:将通知/增强作用于具体切入点

? ? ? ? ?基本格式:
?????????????????


?? ??? ?练习

????????????????


通知类型
?? ??? ?
?? ??? ?Spring通知共5个分类:前置通知、后置通知、环绕通知、抛出异常通知、最终通知

?????????

?

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-06 15:07:02  更:2021-12-06 15:09:10 
 
开发: 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 4:51:01-

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