框架
- 具有一定约束性、支撑我们完成功能的半成品; 框架中有一定的标准,用框架的时候需要遵守这些标准。
- 持久层框架:mybatis(自己写sql语句,益于维护)
Spring框架
1. Spring的核心:是一个IOC(最核心,可以用来管理对象)和AOP容器框架。
tomcat:是web容器,管理sevlet生命周期
bean容器:对象容器,管理对象的生命周期。
组件化(降低耦合):把项目里面的类交给Spring管理,把这些对象成为组件,通过各个对象相互调用对象。
Spring中的组件:Spring管理的对象。把这些对象作为一个一个的组件拼装起来完成功能。
2. Spring
application.context
classpathcmlapplication
getbean—bean的id(Object) 类型的.class获取 id,类型的class对象(确定要获得那一个对象) 、
类的:相对路径 文件的:绝对路径
3. IOC控制反转
将自己对对象的控制权交给 程序本身(Spring)进行管理,需要的话去拿就行。不管是怎么具体创建对象的。
4. 依赖注入(给属性赋值)
通过property为对象赋值,即依赖注入的过程,两种注入方法:set注入(property)、构造器注入(必须要有相对应的构造方法)
比如car对象依赖于发动机对象、车饰对象…
依赖:创建一个完整的car对象需要依赖于其他对象
注入:赋值,依赖于谁就为谁赋值
5. IOC在Spring中的实现
6. 给bean的属性赋值
set注入-----property 即调用实体类中的setxxx方法为对象注入(赋值)
方式二:通过构造器构造对象,自动匹配到实体类中的构造方法。
7. 命名空间 指定能写进去的东西
引入p命名空间作用:直接通过P:id即可设置属性名
8. 可以使用的值
9. 内部bean
10 FactoryBean:对象工厂 工厂模式
SpringIoc用的就是工厂模式:不在乎工厂里面怎么创建对象的,需要对象就直接去工厂里面取。需要什么就去工厂里面取,不用关心如何加工的。
工厂模式:隐藏类创建对象的过程,通过工厂直接获得对象即可。
11.如果有单例的,Spring会在容器初始化的时候就把对象创建出来
单例:就这一个实例
多例:每用一次就要创建一个实例,所以在用到的时候才会创建。
12 bean生命周期
13 自动装配(赋值)
自动装配必须是非字面量属性,即必须使用ref的这种属性
如果用了bytype,会在整个spring容器中找,只要匹配就注入,缺陷…
14 通过注解配置 bean
15 使用注解标识组件(bean) 加上注解的类才是组件
由于注解是标识组件的,bean里面放的都是对象,所以注解都是标记在具体实现类上面的
不管怎么创建,都需要制定所属类。
如果想让Spring管理该类,就在该类上面加上注解。
利用@Autowired注解进行自动类型装配:默认用bytype进行装配,如果不行,则会总byname进行装配。
16 基于注解的组件化管理
17 AOP(通过代理模式实现)
代理模式中的三个对象:原始对象、代理对象、目标对象(要去做的事情)
动态代理的作用:为任何需要代理的对象生成一个代理类,
------------------------不管目标对象是什么,都可以通过这样一个类生成相对应的代理对象帮助我去完成一系列功能。
更像是一个工具类,在任何情况下帮助我们生成一个代理对象。
18. 动态代理、静态代理
静态代理:代理对象是真实存在的,可以自己写一个类,让她作为代理对象
动态代理:通过某种方式为真正要实现的目标对象动态生成一个代理对象。
为什么要找代理对象,它可能比我实现的更好。
- 他知道你要实现什么功能
- 他知道该怎么实现这些功能
3.
AOP概述
1. 切面:存储公共功能(非业务代码)的类
将非业务功能抽取出来,放在一个类里面,通过动态代理的方式,再作用到上面
AOP和代理对象功能一样。AOP依赖于动态代理。
2. 动态代理特点
将非业务方法抽取出来放到一个类里面,但是这个类里面的方法应该什么时候执行?
用配置的方式告诉它
SpringBoot
1. 将应用直接打包成一个可执行的jar包
2. why?
3. 主程序
ymal、yml
优点:少了很多标签。
druid
随机文件占位符
快速生成一个项目
注解
1. 配置文件值注入
@ConfigurationProperties
@bean
日志
视图解析器
整合基本JDBC与数据源
从maven仓库中找到druid数据源,在pom文件中引入。
整合MyBatis
分隔符。。。。。。。。。。
Web开发
步骤:
2. 选择自己需要的模块,SpringBoot会自动将这些场景配置好。
3. 编写业务代码。
错误
SpringMVC
处理请求返回试图
JDBC
1. DriverManager:驱动管理类—注册驱动、获得和数据库的连接
2. Connection:与数据库连接对象
- 创建执行SQL语句的对象—用来执行SQL语句
- 管理事务
3. Statement:执行SQL、执行批处理
- 执行sql语句
4. ResultSet
5. 增删改查
6. SQL注入漏洞
7. 事务管理的API,Connection
Druid连接池
1. 阿里旗下开源连接池产品
2. 使用方式一
使用方式二:利用配置的方式
在配置文件中:
DBUtils
- 概述
批处理:
添加操作
ResultSetHandler
Web
JavaWEB
软件架构
Web服务器comcat
1. 概述
HTTP协议
1. 协议:规定浏览器和服务器端的数据交互的格式。
2. 特点:
- 基于请求和相应模型(先请求,后响应,且必须成对出现)。
3. 版本
HTTP1.0 一次请求响应后断开
HTTP1.1 一直连接,除非请求一段时间没响应才会断开
4. 结构,请求头,请求体,post get
Servlet:处理客户请求,并对客户进行响应
然后重写service()方法
ServletContext对象之获取web项目信息
Response对象
Response:关于响应行、响应头、
Cookie: