365bet线上

青岛软件培训学校

山东最好的软件培训机构,专业培养高端IT人才 咨询热线:0532-85025005

[置顶] 青软人

Spring Boot 2.X 如何添加拦截器?

最近使用SpringBoot2.X搭建了一个项目,大部分接口都需要做登录校验,所以打算使用注解+拦截器来实现,在此记录下实现过程。



一、实现原理

1. 自定义一个注解@NeedLogin,如果接口需要进行登录校验,则在接口方法或类方法上添加该注解。
2. 登录拦截器LoginInterceptor校验接口的方法或类上是否有@NeedLogin注解,有注解则进行登录校验。

二、主要代码

1. NeedLogin注解代码

复制代码
package com.example.helloSpringBoot.annotation;
...

Redis非关系型数据库

1.简介




Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写。

Redis一般作为分布式缓存框架、分布式下的SESSION分离、分布式锁的实现等等。

Redis速度快的原因:基于内存、单线程、多路复用。





2.Redis数据结构


Redis中提供了五种数据结构,分别是String、Hash、List、Set、ZSet,每种数据结构底层都是通过字符串来进行实现。



2.1 String
Key对应的Value是一个字符串类型。

复制代码
...

都 9012了,该选择 Angular、React,还是Vue?

 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。

...

.NET Core使用Quartz执行调度任务进阶

 一、前言运用场景

 Quartz.Net是一个强大、开源、轻量的作业调度框架,在平时的项目开发当中也会时不时的需要运用到定时调度方面的功能,例如每日凌晨需要统计前一天的数据,又或者每月初需要统计上月的数据。当然也会出现既要统计日的也统计月的还需要进行其他的操作。那我们改如何来写这样的调度任务呢?

...

Spring Boot入门(三):使用Scheduled注解实现定时任务

在程序开发的过程中,经常会使用定时任务来实现一些功能,比如:

系统依赖于外部系统的非核心数据,可以定时同步
系统内部一些非核心数据的统计计算,可以定时计算
系统内部的一些接口,需要间隔几分钟或者几秒执行一次
在Spring Boot中,我们可以使用@Scheduled注解来快速的实现这些定时任务。

@Scheduled注解主要支持以下3种方式:

fixedDelay
fixedRate
cron
那么接下来,我们讲解下具体的实现方式以及这3种方式之间的区别。

1.前提
首先,需要在启动类上添加@EnableScheduling注解:
...

Tomcat NIO 模型的实现

Tomcat 对 BIO 和 NIO 两种模型都进行了实现,其中 BIO 的实现理解起来比较简单,而 NIO 的实现就比较复杂了,并且它跟常用的 Reactor 模型也略有不同,具体设计如下:

Tomcat NIO 模型

可以看出多了一个 BlockPoller 的设计,这是因为在 Servlet 规范中 ServletInputStream 和 ServletOutputStream 是阻塞的,所以请求体和响应体的读取和发送需要阻塞处理。请求行读取和 SSL 握手使用非阻塞的 Poller 处理。一次连接基本的处理流程是:
...

vue-router导航守卫(router.beforeEach())的使用

好久没写一些东西了,总是感觉有啥缺少的。~~~~恰好碰到最近在写一个移动端项目,遇到了如何使同一个链接在不同条件下跳转到不同路由组件问题,譬如大家经常看到手机中没登录跳转登录页,登陆后跳转个人信息页等。废话不多说了,直接上图:


这是没登录状态,点击下面mine按钮跳转至登录页



这个是我登录了自己的账号后,再次点击mine按钮会跳转至个人信息页面

好了,看到了这个效果今天咱们来实现下

实现方法
我们点击下面mine按钮其实是路由跳转,所以我们需要在跳转路由之前做一个判断,根据不同的条件让这个链接跳转到不同路由。这时候我们vue-router中的导航守卫就闪亮登场了~~~
...

maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目

 项目的简单介绍: 项目采用maven聚合工程 用spring boot 搭建 spring cloud的微服务 模块式开发

项目的截图:

...

python进程和线程(五)

python的进程
由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。

  multiprocessing包是Python中的多进程管理包。与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程。该进程可以运行在Python程序内部编写的函数。该Process对象与Thread对象的用法相同,也有start(), run(), join()的方法。此外multiprocessing包中也有Lock/Event/Semaphore/Condition类 (这些对象可以像多线程那样,通过参数传递给各个进程),用以同步进程,其用法与threading包中的同名类一致。所以,multiprocessing的很大一部份与threading使用同一套API,只不过换到了多进程的情境。
...

Insert Into select 与 Select Into 哪个更快?

在平常数据库操作的时候,我们有时候会遇到表之间数据复制的情况,可能会用到INSERT INTO SELECT 或者 SELECT INTO ;

那么二者语法上有什么区别?性能上又如何呢?

围绕着这两个问题,今天就来总结对比下:

一:语法区别

1: INSERT INTO SELECT 的语法

复制代码
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。
复制代码
如果两个表的结构一致,字段类型一致:

复制代码
...
分页:? 首页...?[5][6][7][8][9][10]11[12][13][14][15][16][17][18]?...尾页 ?

日历

<< 2019-4 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Copyright 2007-2013 青岛软件培训学校(青岛市南京路122号中联广场B1栋3楼) 咨询热线:0532-85025005  鲁ICP备09077726号-3  
百度搜索|Google搜索 | 必应Bing | Yahoo搜索 | 搜狗搜索 | 有道搜索 | 搜搜 |