书架
算法
《我的第一本算法书》
《大话数据结构》
前端
《html+css教程》
《Web前端开发技术HTML5CSS3JavaScript》
《Vuejs从入门到项目实战》
Java相关
《Java基础核心总结》
《Spring 2.0核心技术与最佳实践》
《SpringBoot经典学习笔记》
《JavaEE技术之MyBatis》
《Linux学习笔记》
《Spring Cloud Alibaba笔记》
《设计模式》
python相关
《(1)Python编程从入门到实践》
《(2)Python编程快速上手:让繁琐工作自动化》
《(3)Python极客项目编程》
《数据分析课程》
《flask框架》
《Python数据分析笔记》
数据库
《分布式事务_课程讲义_V1.0》
《mongoDB_课程讲义》
《Redis全套学习笔记》
面试八股
《1000道Java工程师面试题》
《50万字程序员面试宝典》
爬虫笔记
day01-课堂笔记
day02-课堂笔记
day03-课堂笔记
day04-课堂笔记
day05-课堂笔记
day06-课堂笔记
day07-课堂笔记
day08- ...
SpringBoot(合集)
- 微服务阶段javase:OOP
mysql:持久化
html+css+js+jquery+框架
javaweb:独立开发MVC三层架构的网站
SSM:框架;简化我们的开发流程,配置也开始较为复杂
war:tomcat运行
Spring再简化:SpringBoot -jar:内嵌tomcat;微服务·架构!
服务越来越多:springcloud
SpringBoot学习路线
SpringBoot
是什么
如何配置编写yaml
自动装配的原理
集成web开发:业务的核心
分布式开发:Dubbo+zookeeper
swagger:接口文档
任务调度
SpringSecurity:Shiro
SpringCould
微服务
springcould入门
Resful风格
Eureka
Ribbon
Feign
HyStrix
Zuul路由网关
SpringCloud config:git
- 原理初探自动配置:
pom.xml
spring-boot-dependencies:核心依赖在父工程中
我们写或引入一些Springboot依赖的时候,不需要指定版本,就因为由这些版本 ...
Springboot-security(权限控制)
Springboot-security(权限控制)
核心:
认证
授权
自定义配置相关类:WebSecurityConfigAdapter
相关方法:
config(AuthenticationMangerBuilder auth):认证
configure(HttpSecurity http):授权
configure(WebSecurity web):资源放行
passwordEncoder passwordEncoder():密码加密
登录校验流程
前端携带用户名密码访问登录接口
服务器端在数据库中对账号和密码进行校验
如果正确,使用用户名或id生成jwt,并将jwt响应给前端
登录后访问其他请求,需要在请求头中携带token
根据请求头中的token获取用户ID,如果有权限则允许访问相关资源
访问目标资源,返回给前端
- 基础用法
引入依赖
12345<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st ...
SpringDataElasticsearch
[toc]
1. Spring Data Elasticsearch
Elasticsearch提供的Java客户端有一些不太方便的地方
很多地方需要拼接Json字符串,在java中拼接字符串有多恐怖你应该懂的
需要自己把对象序列化为json存储
查询到结果也需要自己反序列化为对象
因此,我们这里就不讲解原生的Elasticsearch客户端API了。而是学习Spring提供的套件:Spring Data Elasticsearch。
1.1 简介
Spring Data Elasticsearch是Spring Data项目下的一个子模块。
查看 Spring Data的官网:https://spring.io/projects/spring-data
Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性。
它使得使用数据访问技术,关系数据库和非关系数据库,map-reduce框架和基于云的数据服务变得容易。这是一个总括项目,其中包含许多特定于给定数据库的子项目。这些令人兴奋的技术项目背后,是由许 ...
9.SpringMVC之RESTful风格
SpringMVC之RESTful1. REST是什么?
理解本真的REST架构风格: http://kb.cnblogs.com/page/186516/
REST: http://www.infoq.com/cn/articles/rest-introduction
REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的 URI 。获取这个资源,访问它的URI就可以,因此 URI 即为每一个资源的独一无二的识别符。
表现层(Representation):把资源具体呈现出来的形式,叫做它的表现层(Representation)。比如,文本可以用 txt 格式表现,也可以用 HTML 格式、XML 格式、JSON 格 ...
8.SpringMVC源码剖析其运行过程
[toc]
探索SpringMVC的秘密我们都知道在Springmvc中前端控制器,是执行的核心控制器,从继承关系上看其实DispatcherServlet就是一个servlet。这时候我们回顾一下DispatcherServlet是怎么配置的?是不是在<servlet></servlet>里面配置的,我们刚学习servlet的时候是不是自定义servlet也是在web.xml中通过<servlet></servlet>配置的呢?如果你很熟悉javaweb基础,你会回答yes
我们学过javaweb部分都知道servlet的生命周期中有一个service方法是提供服务的方法,每次访问servlet的时候,service方法就会被调用一次。
在FrameworkServlet中有service方法,源码如下:
重点关注:
processRequest(request, response);
super.service(request, response);
123456789101112131415161718/** * O ...
7.SpringMVC之拦截器
[toc]
SpringMVC之拦截器1. 拦截器概述
注意拦截器和过滤器的区别:过滤器先执行,可以理解为拦截器是过滤器的升级版。
SpringMVC有很多默认的拦截器我们使用SpringMVC的时候就使用了,如果我们想自定义拦截器可以通过下面方式实现。
自定义拦截器:SpringMVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器可以实现HandlerInterceptor接口,也可以继承HandlerInterceptorAdapter 适配器类
~~~~javapublic interface HandlerInterceptor {
// 在目标方法运行之前调用,返回boolean,return true 放行,return false;不放行。
boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception;
// 在目标方法运行之后调用。
void postHa ...
6.剖析SpringMVC处理Json数据
[toc]
SpringMVC处理JSON
Gson 谷歌公司的产品
fastJson 阿里的产品
JsonLib
jackson(springmvc默认使用的)
使用jackson需要引三个包:
jackson-annotations-2.1.5.jar
jackson-core-2.1.5.jar
jackson-databind-2.1.5.jar
1. SpringMVC使用
我们先看一下不适用json数据格式查找所有department信息,并返回department_list页面。如果熟悉这个流程可以跳过,还可以跟着再复习一下整个流程特别是xml的配置的具体含义。
1.1 depentment_list.jsp1234567891011121314151617181920212223242526272829303132333435363738<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib pref ...
5.SpringMVC视图解析
SpringMVC视图解析过程首先我们需要明白–不论控制器(就是我们使用@Controller注解标记的类)返回的是String,ModelAndView,View数据SpringMVC都会转换为ModelAndView对象,ModelAndView对象(包含了逻辑名和模型对象的视图)由视图解析器解析成视图对象,然后解析,进行页面的跳转。
另外我们还需要知道两个接口
ViewResolver即视图解析器的顶级接口
View 视图对象的顶级接口
Spring MVC 借助视图解析器(ViewResolver)得到最终的视图对象(View),最终的视图可以是 JSP ,也可能是 Excel、JFreeChart等各种表现形式的视图。
对于最终究竟采取何种视图对象对模型数据进行渲染,处理器并不关心,处理器工作重点聚焦在生产模型数据的工作上,从而实现 MVC 的充分解耦,如果想要深刻理解,需要debug去看具体的执行流程。下面文章可以帮助你深刻地理解。
SpringMVC工作原理之视图解析及自定义
1. 视图解析器
视图解析器的作用比较单一:将逻辑视图解析为一个具体的视 ...
4.剖析SpringMVC处理响应数据
[toc]
SpringMVC处理响应数据
几种途径输出模型数据:
Map
Model
ModelMap
MadelAndView
1. Map 和 Model 以及 ModelMap
SpringMVC除过在方法上传入原生的request和session外还能怎么样把数据带给页面呢?
可以在方法处传入Map、或者Model或者ModelMap。
给这些参数里面保存的所有数据都会放在请求域中。这样就可以在页面获取了
12345678910111213141516/** Map,Model,ModelMap:最终都是BindingAwareModelMap在工作;* 相当于给BindingAwareModelMap中保存的东西都会被放在请求域中;* * Map(interface(jdk)) Model(interface(spring)) * || //* || //* \/ //* ModelMap(class) //* \\ //* ...