Spring简要概述

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。Spring简要概述,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

Spring总记

1.Spring是什么

​ 轻量级的的IOC和AOP的框架 , 主要是解决企业级项目的复杂性

2.Spring好处优势

​ 松耦合 \ 代码复用性高 \ 开发效率高

3.Spring的使用场景

​ 只要是企业级项目开发 , 一般都要使用Spring

4.Spring的体系架构

​ 核心 \ 测试 \ aop \ 持久层 \ 事务 \ web 对每个层都有支持

5.Spring的下载解压

​ 官网下载解压

6.IOC

控制反转: 创建对象交给Spring去操作 , 我们只需要从Spring IOC容器中获取就行

Spring创建对象额方式 : 1.bean标签 ; 2.包扫描+@Component注解(需要aop包)

默认情况下: 只要配置Bean标签 , 使用包扫描+注解 配置文件一加载 , 就创建对象放入容器中;

​ 懒加载和多例的情况除外的

7.DI

依赖注入: 就是给Spring在管理的对象属性赋值

方式: set方法(最常用) ; 构造方法 ; p命名空间

赋值方式:

1.基本类型字符串 <property name = "属性名" value = "属性值">
2.自定义类型<property name = "属性名" ref = "另一个标Bean签的id值">
3.List集合<list> ; Set集合<set> ; 数组<array> ; map集合<map><entry> ; 					
4.properties配置文件 <props><prop>

注解的方式赋值: 加载外部配置文件 , 然后给使用注解的对象赋值

​ 加载配置文件的方式:

<context : property-placeHolder location>
<bean>
@PropertyResources

取值: @Values(${})

8.Bean的创建方式

默认方式: 默认构造函数

静态工厂: 一个类 , 一个静态方法 , 配置文件中配置class值这个类 factory-method=方法

实例工厂: 一个类 , 一个实例方法 , 配置文件中配置2个Bean标签 , 一个是这个类的Bean指定class这个类另一个Bean标签 , 不指定class , 使用factory-method , 指定这个类的Bean标签的id

9.Bean的懒加载

​ 默认情况下 , 容器一启动就创建好对象了

​ 懒加载需要Bean标签中 , 配置lazy-init=true , 此时第一次访问才会创建对象

10.Bean的作用域

​ 单例(默认)

​ 多例(每次调用都会创建一个对象 scope)

11.加载外部配置文件

加载配置文件的方式:

<context : property-placeHolder location> 
<bean> 
@PropertyResources

取值: @Values(${})

12.SpringAOP是什么

​ **aop:**面向切面编程 , 在程序运行期间 , 在不修改源代码的情况下 , 使用动态代理技术 , 给程序同一添加新功能的这样的一种技术

13.aop手动使用动态代理编写

动态代理:
JDK(面向接口+实现) 动态代理生成的这个类 , 是这个实现类的代理类
cglib ; javaassit

14.aop的术语

​ 连接点( joinPoint ) 类中的方法

​ 切入点( pointCut ) 真正被拦截的点

​ 通知( advice ) 增强的内容

​ 切面( aspect ) 多和切入点和多个通知

​ 目标对象( target ) 对那个对象中的方法增强那个对象就是目标的对象

​ 织入 (weaving) 增强作用到切入点的过程

15.aspectJ的使用(Sping-aop,aspectjweave)

1.方法拦截器:

定义一个类的实现 MethodInteceptor ; 
编写配置文件<aop: config>
<aop: advice ="id" 切入点表达式/>

​ 满足不同情况做不同的事情的话 , 需要依赖通知: 前置 ; 后置 ; 环绕 ; 异常 ; 最终

2.xml的配置

3.注解配置

16.Spring对持久层的支持

jdbcTamplate以及jdbcDaoSupport : 需要包 , Spring-jdbc , spring-tx

需要配置数据源: DriverManagerDataSource(没有缓冲池) 换成第三方数据源 , 如:druid

17.事务相关

什么是事务: 一组操作当做一个不可再拆分的整体 , 这个整体要么成功 , 要么失败

事务的特性: ACID

数据库的隔离级别: 5种(4种指不包含没有事务)

解决事务的方式:

模板的方式 ; 
xml配置 ;
注解:<tx: annotation-driven/> , @Transaction(要配置事务管理器)

通知类型: 前置 ; 后置 ; 环绕 ; 异常 ; 最终

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192929.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!