一:12.21~12.22
1.Maven环境配置
组成部分:1)中央仓库 2).镜像仓库 3).本地仓库
中央仓库:几乎所有的开源的jar包文件
本地仓库:项目中的jar包文件
坐标与本地仓库之间的关系:根据坐标去本地仓库查找jar包文件
maven中jar包添加具有依赖传递性.A依赖B B依赖Cjar包
2.加密SHAI算法
1).hash的本质是函数:变量x经过特定的计算得到唯一的值
2)HASH碰撞:不同的数据经过相同的Hash算法,得到了相同的结果,称为hash碰撞,在数学界无法规避
3.Maven常用指令
1).clean 清空缓存,可以删除项目中的target目录
2).compile:将项目中的xx.java文件编译成 .class文件.由Maven工具完成
3).install :将开发完成的项目打包部署,将项目形成jar包文件 xxx.jar包 .
4.Spring框架
1).bean:Spring容器管理的对象称之为bean
2)生命周期
3).轻量级容器:Spring在内存中申请了一块内存空间用来储存其他对象
4).面向接口编程:将子类中的方法进行高级的抽取,抽取到接口中
5.Spring-IOC规则
IOC:即控制反转:对象创建的权利有Spring框架完成
6.Spring如何管理对象
Spring在内部维护了一个大型的MAp集合<k,v>,bean中的id充当map中的key,实例化的对象充当map中的value.
7.Spring创建对象的步骤
1)定义Spring的配置文件地址
2)Spring容器启动时加载指定的配置文件
3).当spring容器扫描到bean标签时,加载属性ID 和class
4).根据反射机制实例化对象,根据class路径反射
5).从Spring容器中通过id或class类型获取对象
6).根据对象调用业务方法
8.spring中的单例与多例
单例模式:内存中的对象一份
多例模式:内存中的对象多份
@Scope("prototype")表示多例对象,Spring中默认为单例对象
1)懒加载策略:默认条件下,Spring容器启动,则会创建对象(类比:饿汉式)如果开启了懒加载,用户什么时候使用则对象什么时候创建(类比:懒加载)
@lazy该注解只对单例有效,多例均是懒加载
9.Spring声明周期
对象创建/初始化/业务调用/销毁
二.12.23~12.24
1.SpringDI 依赖注入
@component 将该类交给Spring容器管理
@Autowired可以将容器中的对象进行注入.按照类型进行注入
@Qualifier(name="")按照指定的id进行注入
@configuration 标识当前类是配置类
@ComponentScan 包扫描注解,扫描注解
@propertySource 加载指定路径的配置文件
2.MVC设计思想
M:model 数据层.V:view 视图层 C:controller 控制层
MVC主要的目的:降低代码的耦合性
基于MVC设计思想,在后端为了提高代码的扩展性,一般后端代码分为三层端:
1).控制层:controller 与前端页面交互的
2).业务层:Service 编辑业务逻辑
3).持久层: Mapper实现数据库的相关操作, @Repository/ @Mapper
C-->S-->M:被调用的一般有接口和实现类
3.关于IOC-DI总结
IOC:控制反转,将对象交给Spring容器管理,由容器管理对象的生命周期
DI:依赖注入(注入对象):为当前的对象注入属性(属性也是对象)
总结:使用IOC-DI可以极大程度上实现代码的松耦合.
4.Spring-AOP
代理模式说明:在业务层不方便做,但是又不得不做的事情,可以放到代理对象中,通过这样的设计可以解决业务松耦合问题
5.JDK代理与CGlib代理
JDK代理是java原生提供的API,无需导包,代理的是接口与实现类,CDlib:某些类中没有接口的代理
动态代理的作用?
说明:一般我们将业务中耦合性高的代码采用动态代理的方式进行解耦
IOC:解决动态绑定的解耦
动态代理:业务逻辑的解耦
Spring专门针对动态代理的规则,封装了一套API,起名AOP
6.AOP面向切面编程:在不修改源码的条件下对方法进行拓展
切面=切入点表达式+通知方法
切入点表达式:@PointCut(),可以理解为if判断条件,满足表达式则为true,执行通知表达式
7.AOP中的专业术语(难点)
1)连接点:用户可以被拓展的方法,joinPoint
2)切入点:用户实际拓展的方法
3)通知:拓展方法的具体实现
4)切面:将通知应用到切入点表达式
三:12.27~12.28
1.Spring中的AOP
1).最终通知:都要执行的通知.记录目标方法的返回值.@After
2).异常通知:在目标方法执行时抛出异常时执行.记录抛出异常的信息.@AfterThrowing()
3).前置通知:在目标方法执行之前执行的通知.@brfore()
4).后置通知:目标方法执行之后执行的通知,记录目标方法的返回值@AfterReturing()
以上4个通知记录程序的运行状态
5).环绕通知 控制目标方法是否执行.环绕通知是未来使用最多,功能最为强大的 @Around()
2.Spring中AOP案例:环绕通知
1).需要对方法的执行时间进行监控
2).利用AOP可以实现缓存控制.
思路:用户直接查询缓存,
如果缓存中没有数据,表示第一次查询,让目标方法执行
如果缓存中有数据.表示第N次查询,让目标方法不执行,从缓存中获取数据即可
3).利用AOP控制事物
4).利用AOP控制方法访问权限
3.SprngMVC:实现前后端的交互的框架
Ajax特点:局部刷新,异步访问
4.axios
404:请求路径不匹配
400:请求类型不匹配
405:Ajax的请求类型与后端接收的类型不匹配
5.JSON
JSON是一种轻量级的数据交换格式
@ResponseBody表示该方法的返回值都是JSON结构,如果返回值是String类型,则原数据返回
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、pandas是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') import ssl ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv( 'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv') print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。