- Python:FastAPI开发从入门到精通
赵梓宇
Python权威教程合集Python
想用Python写API快到飞起?FastAPI就是你的“代码瑞士军刀”!这本书不讲玄学,只教真功夫——从零搭建高性能API,到微服务、分布式事务、熔断限流,连异步编程都能玩成魔法!小白也能变大神:路由、依赖注入、数据库集成手把手教学;老鸟直呼内行:服务网格、Saga模式、K8s部署实战全覆盖。附赠三个硬核项目:任务管理、在线商城、实时聊天系统,代码跑起来比老裁缝织毛衣还丝滑!别说我没提醒你:翻开
- kubernetes(k8s) 安装与部署
北_鱼
环境配置kubernetes容器云原生
版本:kubernetes(k8s)v1.28.21准备工作准备多台Linux设备。可参考https://blog.csdn.net/White_Ink_/article/details/139743058配置集群环境。关闭swap分区临时关闭:sudoswapoff-a永久关闭swap:sudosed-ri's/.*swap.*/#&/'/etc/fstab设置内核参数安装bridge-util
- 逆微服务潮流?基于腾讯 tRPC-Go 单体化改造怎么节省上万核 CPU
微服务一直以来是服务治理的基本盘之一,落地到云原生上,往往是每个K8spods部署一个服务,独立迭代、独立运维。但是在快速部署的时候,有时候,我们可能需要一些宏服务的优势。有没有一种方法,能够“既要又要”呢?本文基于tRPC-Go服务,提出并最终实践了一种经验证可行的方法。本文原文发布在腾讯内网,随着腾讯tRPC框架正式开源,笔者决定将敏感信息脱敏后发布至外网,也助力tRPC的推广。微服务的优劣微
- K8S大白话(●二●)
Jodie大白话
云计算大数据
目录什么是yaml文件yaml字段说明如何编写yaml文件这里是CS大白话专场,让枯燥的学习变得有趣!没有对象不要怕,我们new一个出来,每天对ta说不尽情话!好记性不如烂键盘,自己总结不如收藏别人!什么是yaml文件二话不说先翻译:YAML(YAMLAin'taMarkupLanguage/YetAnotherMarkupLanguage)中文名:%&#…标记语言。就是跟json、xml类似的配
- Ubuntu 22.04安装K8S集群
刘明同学呀
ubuntukubernetesjava
以下是Ubuntu22.04安装Kubernetes集群的步骤概要一、设置主机名与hosts解析#Master节点执行sudohostnamectlset-hostname"k8smaster"#Worker节点执行sudohostnamectlset-hostname"k8sworker1"#所有节点的/etc/hosts中添加:cat>>/etc/hosts/dev/nullsudoaptin
- Centos7搭建k8s集群
ct1027038527
kuberneteslinux容器
k8s集群节点192.168.128.160k8s-master192.168.128.161k8s-node1192.168.128.162k8s-node21.先搭建master节点#在所有节点上禁用swapsudoswapoff-asudosed-i's/.*swap.*/#&/'/etc/fstab#关闭selinuxsed-i's/enforcing/disabled/'/etc/sel
- Centos8安装k8s集群
chenwu_k8s
dockerkuberneteslinux运维
网上找过一些安装文档,但是安装过程中都遇到了一些问题,本文将一些安装过程中的问题进行了说明,确保能够按照步骤利用三台虚拟机搭建一个k8s的实验环境。1、准备工作规划IPmaster01192.168.10.139node01192.168.10.140node02192.168.10.141利用VMwareWorkstation安装这3台虚拟机,操作系统为centos8。1.1911,安装操作系统
- TTRSS 迁移实战
背景几年前在云服务器上搭建了一套TTRss+RssHub集群,用于阅读文章.具体可以参见这篇文章:使用K8S部署RSS全套自托管解决方案-RssHub+TinyTinyRss-东风微鸣技术博客近期云服务器要到期了,刚好趁此机会将其从云上迁移到家里的Homelab2集群.迁移是2025年2月22日上午做的,结果非常顺利.做完后太太还没起床呢,那就再利用这段时间总结一下迁移过程.内容有些流水账,如果有
- K8S下redis哨兵集群使用secret隐藏configmap内明文密码方案详解
磐基Stack专业服务团队
Kuberneteskubernetesredisbootstrap
#作者:朱雷文章目录一、背景环境及方案说明1.1、环境说明1.2、方案一:使用配置文件设置密码1.3、方案二:使用args的命令行传参设置密码二、redissecretconfigmapdeployment参考2.1创建secret-redis.yaml参考2.2修改configmap配置参考2.2.1哨兵节点修改(每个节点都修改)2.2.2主从节点配置修改2.2.3使用命令行参数指定密码(本小节
- 安装Kubernetes集群-Centos系统
写的花里胡哨
Linux部署kubernetescentos容器
文章参考网址:安装Kubernetes集群-K8S教程准备工作一、每个节点分别设置对应主机名hostnamectlset-hostnamemasterhostnamectlset-hostnamenode1hostnamectlset-hostnamenode2二、所有节点都添加hostsvi/etc/hosts172.16.0.4master172.16.32.2node1172.16.32.6
- 阿里云 ACS:高效、弹性、低成本的容器计算解决方案
Anna_Tong
阿里云云计算人工智能devops容器serverlesskubernetes
阿里云的容器计算服务(AlibabaCloudContainerService,ACS)是一种Serverless容器计算解决方案,提供高度弹性、低成本、易管理的Kubernetes(K8s)容器运行环境。用户无需关注底层服务器资源,而是直接管理容器工作负载,从而提升运维效率和资源利用率。1.主要应用场景ACS适用于多种业务类型,尤其是在弹性计算和微服务架构领域,具有独特优势。(1)在线业务和We
- k8s的资源说明 cpu 内存 requests usage limits
节点。csn
linuxkubernetes容器云原生
一、k8s资源配置在Kubernetes中,有三个非常重要的资源概念,分别是资源请求(Requests)、资源使用率(Usage)和资源限制(Limits)1、资源请求Requests资源请求是Pod启动时向Kubernetes调度器声明的最低资源需求。调度器会根据这些请求值来决定是否将Pod调度到某个节点上。作用资源预留:确保Pod启动时有足够的资源可用。调度决策:调度器会检查节点的可用资源是否
- linux CentOS系统上卸载Kubernetes(k8s)
魏 无羡
linuxcentoskubernetes
一、停止Kubernetes服务首先,需要停止所有Kubernetes相关的服务。使用systemctl命令来停止这些服务:sudosystemctlstopkubeletsudosystemctlstopkube-apiserversudosystemctlstopkube-controller-managersudosystemctlstopkube-schedulersudosystemct
- K8S组件SWEET32 CVE-2016-2183漏洞修复方案 —— 筑梦之路
筑梦之路
linux系统运维云计算kubernetes容器云原生
涉及得组件:kubeletkube-apiserveretcd等扫描方法:nmap-sV--scriptssl-enum-ciphers-p10250192.168.100.100nmap-sV--scriptssl-enum-ciphers-p2379192.168.100.100nmap-sV--scriptssl-enum-ciphers-p6443192.168.100.100扫描结果示例
- Nginx-Ingress-Controller自定义端口实现TCP/UDP转发
蕴微轩
nginxtcp/ipudpkubernetes
背景部署在k8s上的Nacos需要开放GRPC端口9948、9949,需要在nginx-ingress-controller开启tcp/udp支持一、启动参数确保有–tcp-services-configmap=xxx,如果没有,手动添加二、添加对应configmapnginx-ingress-tcpapiVersion:v1data:"9848":test-devops/nacos-headle
- k8s ssl 漏洞修复
魏 无羡
kubernetesssl容器
针对Kubernetes集群中SSL/TLS协议信息泄露漏洞(CVE-2016-2183)的修复,需重点修改涉及弱加密算法的组件配置。以下是具体修复步骤及验证方法:一、漏洞修复步骤1.修复etcd服务修改配置文件:编辑/etc/kubernetes/manifests/etcd.yaml,在command段添加以下参数禁用弱加密算法:---cipher-suites=TLS_ECDHE_RSA_W
- 有了Docker为啥还需要k8s?
简单简单小白
dockerkubernetes容器
这里写目录标题Docker的作用:Kubernetes的作用:为什么有了Docker还需要Kubernetes?单机无法满足需求:容器的自动化管理:跨多环境的统一管理:总结:Docker和Kubernetes(K8s)是两种不同的技术,它们各自解决了不同的问题,但一起使用时能发挥更大的作用。简单来说,Docker主要解决的是容器化的问题,而Kubernetes解决的是如何有效地管理和编排这些容器。
- [k8s]部署MetalLB(Layer2模式)
Logout:
容器k8skubernetes容器云原生
创建安装目录mkdir/etc/kubernetes/MetalLB修改kube-proxy配置kubectleditconfigmap-nkube-systemkube-proxymode:"ipvs"#添加ipvsstrictARP:true#false改为true创建namespacekubectlcreatenamespacemetallb-system创建ip池cat>IPAddress
- [k8s]部署ingress-nginx
Logout:
k8s容器kubernetesnginx容器
获取安装包https://github.com/kubernetes/ingress-nginx/blob/controller-v1.11.1/deploy/static/provider/baremetal/deploy.yaml修改端口映射方式sed-is#NodePort#LoadBalancer#g/etc/kubernetes/ingress-nginx/deploy.yaml部署in
- 容器方式安装 nexus3 并作为yum私服
chenxizhan1995
总结记录linuxcontainers
nexus3笔记new,2022-10-19,chenxizhan1995@163.com目标虚拟机上docker形式搭建nexus服务,用作yum私服和containerimage私服,为k8s集群提供基础了解nexus数据存储目录,把数据存储到单独的磁盘上,可以迁移资料阅读NexusRepositoryManagerNexusRepositoryOSSvs.ProFeaturesReposit
- 容器docker k8s相关的问题汇总及排错
weixin_43806846
dockerkubernetes容器
1.明确问题2.排查方向2.1、docker方面dockerlogs-f容器IDdocker的网络配置问题。2.2、k8s方面node组件问题pod的问题(方式kubectldescribepopod的名称-n命名空间&&kubectllogs-fpod的名称-n命名空间)调度的问题(污点、节点选择器与标签不匹配、存储卷的问题)service问题(访问不了,ingress的问题、service标签
- 【k8s应用管理】kubernetes HPA+rancher
Karoku066
kubernetesrancher容器运维云原生
文章目录KubernetesHPA部署指南概述部署metrics-server部署HPARancher管理Kubernetes集群指南实验环境安装及配置RancherKubernetesHPA部署指南概述KubernetesHPA(HorizontalPodAutoscaling)可以根据Pod的CPU利用率自动调整Deployment、ReplicationController或ReplicaS
- 【后端】k8s
骑鱼过海的猫123
kubernetes容器云原生
1.命令1.1获取service服务获取集群内所有命名空间的service服务sudokubectlgetservice--all-namespaces获取集群内指定命名空间的service服务sudokubectlgetservice-n命名空间当权限限制到一个命名空间时,只能使用下面这个sudokubectl-n命名空间getservice获取集群内当前命名空间的service服务sudoku
- redis的主从复制配置
zhaikaiyun
redis
通过持久化功能,redis保证了即使在服务器重启的情况下也不会丢失或少量丢失数据,但是由于数据存储在一台服务器上,如果这台服务器出现故障,比如磁盘坏了,也会导致数据丢失。为了避免这个单点故障,可以使用主从复制的方式,将主更新的数据,自动更新同步到其他服务器上。主从节点配置[root@k8smasterconfig]#moreredis6380.confinclude/data/redis/redi
- 十五、K8S-持久卷PV和PVC
繁华依在
k8skubernetesdocker容器
目录一、感念:1、PersistentVolume(PV)2、PersistentVolumeClaim(PVC)二、PV和PVC工作原理1、资源供应(Provisioning)2、资源绑定(Binding)3、资源使用(Using)4、资源回收(Reclaiming)1、保留数据:2、Deleted(删除数据):3、Recycled(回收策略):5、PVC资源扩容三、PV详解1、存储容量(Cap
- k8s rook-ceph MountDevice failed for volume pvc An operation with the given Volume ID already exists
时空无限
Kuberneteskubernetesceph
https://github.com/rook/rook/issues/4896环境kubeadm搭建的k8s集群,rook-ceph部署的ceph存储,monpod所在宿主机和挂载客户端机器pod所在机器不在一个二层网络里。故障pod挂载不上pvc,describepod信息如下MountDevicefailedforvolumepvcAnoperationwiththegivenVolumeI
- rook-ceph无法登录dashboard
时空无限
Kubernetescephcephkubernetes
环境ubuntu22.04tlsk8s1.20.2现象搭建好ceph集群环境后,执行如下命令获取admin登录账号的密码kubectl-nrook-cephgetsecretrook-ceph-dashboard-password-ojsonpath="{['data']['password'
- k8s篇-应用持久化存储(PV和PVC)
jiam明
Kubernetesc语言开发语言后端
一、Volume一般来说,容器一旦被删除后,容器运行时内部产生的所有文件数据也会被清理掉,因此,Docker提供了Volume这种方式来将数据持久化存储。可以说,Volume是Pod与外部存储设备进行数据传递的通道,也是Pod内部容器间、Pod与Pod间、Pod与外部环境进行数据共享的方式。实际上,这个Volume也只是宿主机上本地磁盘中的一个目录,也就是说,volume方式是将容器里面的数据都保
- kubeadm拉起的k8s集群证书过期的做法集群已奔溃也可以解决
KTKong
kubernetes容器云原生
kubeadm拉起的k8s集群证书过期的做法这个是很久之前遇到的了,今天有空(心血来潮)就都回忆回忆写在这里为爱发光,部分内容来自arch先生(死党)的帮助。有时候有很多部门提了建k8s的需求,有些是临时的,有些没有说具体用多久,但是某天,他们和你说集群坏了,这时候你上去一看证书过期了,这里又有两种情况我们分别说明:集群还活着集群已归西1、备份数据2、报错内容及分析3、生成证书4、证书内容合并5、
- 虚拟机安装k8s集群
开着拖拉机寻找春天
kubernetes容器云原生
环境准备-主节点(MasterNode):IP地址:192.168.40.100主机名:k8s-master-工作节点(WorkerNode):IP地址:192.168.40.101主机名:k8s-node1步骤1:配置虚拟机环境1.1设置主机名在每台虚拟机上设置唯一的主机名:#在主节点上执行sudohostnamectlset-hostnamek8s-master#在工作节点上执行sudohos
- jquery实现的jsonp掉java后台
知了ing
javajsonpjquery
什么是JSONP?
先说说JSONP是怎么产生的:
其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助。
1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;
2、
- Struts2学习笔记
caoyong
struts2
SSH : Spring + Struts2 + Hibernate
三层架构(表示层,业务逻辑层,数据访问层) MVC模式 (Model View Controller)
分层原则:单向依赖,接口耦合
1、Struts2 = Struts + Webwork
2、搭建struts2开发环境
a>、到www.apac
- SpringMVC学习之后台往前台传值方法
满城风雨近重阳
springMVC
springMVC控制器往前台传值的方法有以下几种:
1.ModelAndView
通过往ModelAndView中存放viewName:目标地址和attribute参数来实现传参:
ModelAndView mv=new ModelAndView();
mv.setViewName="success
- WebService存在的必要性?
一炮送你回车库
webservice
做Java的经常在选择Webservice框架上徘徊很久,Axis Xfire Axis2 CXF ,他们只有一个功能,发布HTTP服务然后用XML做数据传输。
是的,他们就做了两个功能,发布一个http服务让客户端或者浏览器连接,接收xml参数并发送xml结果。
当在不同的平台间传输数据时,就需要一个都能解析的数据格式。
但是为什么要使用xml呢?不能使json或者其他通用数据
- js年份下拉框
3213213333332132
java web ee
<div id="divValue">test...</div>测试
//年份
<select id="year"></select>
<script type="text/javascript">
window.onload =
- 简单链式调用的实现技术
归来朝歌
方法调用链式反应编程思想
在编程中,我们可以经常遇到这样一种场景:一个实例不断调用它自身的方法,像一条链条一样进行调用
这样的调用你可能在Ajax中,在页面中添加标签:
$("<p>").append($("<span>").text(list[i].name)).appendTo("#result");
也可能在HQ
- JAVA调用.net 发布的webservice 接口
darkranger
webservice
/**
* @Title: callInvoke
* @Description: TODO(调用接口公共方法)
* @param @param url 地址
* @param @param method 方法
* @param @param pama 参数
* @param @return
* @param @throws BusinessException
- Javascript模糊查找 | 第一章 循环不能不重视。
aijuans
Way
最近受我的朋友委托用js+HTML做一个像手册一样的程序,里面要有可展开的大纲,模糊查找等功能。我这个人说实在的懒,本来是不愿意的,但想起了父亲以前教我要给朋友搞好关系,再加上这也可以巩固自己的js技术,于是就开始开发这个程序,没想到却出了点小问题,我做的查找只能绝对查找。具体的js代码如下:
function search(){
var arr=new Array("my
- 狼和羊,该怎么抉择
atongyeye
工作
狼和羊,该怎么抉择
在做一个链家的小项目,只有我和另外一个同事两个人负责,各负责一部分接口,我的接口写完,并全部测联调试通过。所以工作就剩下一下细枝末节的,工作就轻松很多。每天会帮另一个同事测试一些功能点,协助他完成一些业务型不强的工作。
今天早上到公司没多久,领导就在QQ上给我发信息,让我多协助同事测试,让我积极主动些,有点责任心等等,我听了这话,心里面立马凉半截,首先一个领导轻易说
- 读取android系统的联系人拨号
百合不是茶
androidsqlite数据库内容提供者系统服务的使用
联系人的姓名和号码是保存在不同的表中,不要一下子把号码查询来,我开始就是把姓名和电话同时查询出来的,导致系统非常的慢
关键代码:
1, 使用javabean操作存储读取到的数据
package com.example.bean;
/**
*
* @author Admini
- ORACLE自定义异常
bijian1013
数据库自定义异常
实例:
CREATE OR REPLACE PROCEDURE test_Exception
(
ParameterA IN varchar2,
ParameterB IN varchar2,
ErrorCode OUT varchar2 --返回值,错误编码
)
AS
/*以下是一些变量的定义*/
V1 NUMBER;
V2 nvarc
- 查看端号使用情况
征客丶
windows
一、查看端口
在windows命令行窗口下执行:
>netstat -aon|findstr "8080"
显示结果:
TCP 127.0.0.1:80 0.0.0.0:0 &
- 【Spark二十】运行Spark Streaming的NetworkWordCount实例
bit1129
wordcount
Spark Streaming简介
NetworkWordCount代码
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
- Struts2 与 SpringMVC的比较
BlueSkator
struts2spring mvc
1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring
- Hibernate在更新时,是可以不用session的update方法的(转帖)
BreakingBad
Hibernateupdate
地址:http://blog.csdn.net/plpblue/article/details/9304459
public void synDevNameWithItil()
{Session session = null;Transaction tr = null;try{session = HibernateUtil.getSession();tr = session.beginTran
- 读《研磨设计模式》-代码笔记-观察者模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;
/**
* “观
- 重置MySQL密码
chenhbc
mysql重置密码忘记密码
如果你也像我这么健忘,把MySQL的密码搞忘记了,经过下面几个步骤就可以重置了(以Windows为例,Linux/Unix类似):
1、关闭MySQL服务
2、打开CMD,进入MySQL安装目录的bin目录下,以跳过权限检查的方式启动MySQL
mysqld --skip-grant-tables
3、新开一个CMD窗口,进入MySQL
mysql -uroot
- 再谈系统论,控制论和信息论
comsci
设计模式生物能源企业应用领域模型
再谈系统论,控制论和信息论
偶然看
- oracle moving window size与 AWR retention period关系
daizj
oracle
转自: http://tomszrp.itpub.net/post/11835/494147
晚上在做11gR1的一个awrrpt报告时,顺便想调整一下AWR snapshot的保留时间,结果遇到了ORA-13541这样的错误.下面是这个问题的发生和解决过程.
SQL> select * from v$version;
BANNER
-------------------
- Python版B树
dieslrae
python
话说以前的树都用java写的,最近发现python有点生疏了,于是用python写了个B树实现,B树在索引领域用得还是蛮多了,如果没记错mysql的默认索引好像就是B树...
首先是数据实体对象,很简单,只存放key,value
class Entity(object):
'''数据实体'''
def __init__(self,key,value)
- C语言冒泡排序
dcj3sjt126com
算法
代码示例:
# include <stdio.h>
//冒泡排序
void sort(int * a, int len)
{
int i, j, t;
for (i=0; i<len-1; i++)
{
for (j=0; j<len-1-i; j++)
{
if (a[j] > a[j+1]) // >表示升序
- 自定义导航栏样式
dcj3sjt126com
自定义
-(void)setupAppAppearance
{
[[UILabel appearance] setFont:[UIFont fontWithName:@"FZLTHK—GBK1-0" size:20]];
[UIButton appearance].titleLabel.font =[UIFont fontWithName:@"FZLTH
- 11.性能优化-优化-JVM参数总结
frank1234
jvm参数性能优化
1.堆
-Xms --初始堆大小
-Xmx --最大堆大小
-Xmn --新生代大小
-Xss --线程栈大小
-XX:PermSize --永久代初始大小
-XX:MaxPermSize --永久代最大值
-XX:SurvivorRatio --新生代和suvivor比例,默认为8
-XX:TargetSurvivorRatio --survivor可使用
- nginx日志分割 for linux
HarborChung
nginxlinux脚本
nginx日志分割 for linux 默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很难打开,于是便有了下面的脚本 使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限
复制代码代码如下:
chmo
- Spring4新特性——泛型限定式依赖注入
jinnianshilongnian
springspring4泛型式依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- centOS安装GCC和G++
liuxihope
centosgcc
Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户。
按照这个思路,我想安装过程如下:
安装gcc:yum install gcc
安装g++: yum install g++
实际操作过程发现,只能有gcc安装成功,而g++安装失败,提示g++ command not found。上网查了一下,正确安装应该
- 第13章 Ajax进阶(上)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- How to determine BusinessObjects service pack and fix pack
blueoxygen
BO
http://bukhantsov.org/2011/08/how-to-determine-businessobjects-service-pack-and-fix-pack/
The table below is helpful. Reference
BOE XI 3.x
12.0.0.
y BOE XI 3.0 12.0.
x.
y BO
- Oracle里的自增字段设置
tomcat_oracle
oracle
大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no 我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列
create table t
(
id number generated by default as identity (start with 1 increment b
- Spring Security(01)——初体验
yang_winnie
springSecurity
Spring Security(01)——初体验
博客分类: spring Security
Spring Security入门安全认证
首先我们为Spring Security专门建立一个Spring的配置文件,该文件就专门用来作为Spring Security的配置