- vSphere-TrueNAS CORE加入AD域
是小天才哦
#虚拟化技术分布式服务器linux运维
创作内容不易,学习的朋友麻烦关注下博主,后面学习不迷路。有不会的问题也可以论坛咨询博主,博主也会及时回复。博主也创建了一个it知识共享互助群,有兴趣的小伙伴也可以加我微信,博主给你拉进群(xiaotiancaio180)ActiveDirectory(AD)服务在Windows网络中共享资源。AD为网络中的用户提供身份验证和授权服务。这样就无需在TrueNAS上重新创建用户帐户。加入AD后,可以访
- Python 运维(四):使用 PyInstaller 将 Python 程序打包成可执行文件
水滴技术
Python入门核心技术python运维PyInstaller打包
本文收录于《Python入门核心技术》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。大家好,我是水滴~~PyInstaller是一款强大的Python打包工具,通过将Python程序转换成可执行文件,它简化了程序的分享和分发过程。本文从简介、安装、使用以及典型案例四个方面对PyInstaller进行了介绍。文章内容包含大量的示例代码,希望能够帮助新手同学快速入门。文章目录一、简介二、安装P
- pythoninstaller打包多个py 文件_PyInstaller详解:将.py文件打包成exe文件
xrxiong
文件
1.安装本人系统是:Ubuntu16.04,python3.7。安装的pyinstaller==3.5,UPX==upx-3.95-amd64_linux.tar.xz。不安装对应版本的pyinstaller和UPX会一直打包不成功(亲测)。首先需要安装pyinstaller:pipinstallpyinstaller==3.5如果不安装UPX的话,会出现打包成exe失败:upxisnotavai
- Pyinstaller打包引用其他文件(.py或其他格式)的.py文件
いぬやしゃ さがし
pyinstaller
Pyinstaller打包多个.py文件一、安装Pyinstaller二、使用步骤1.进入主程序目录生成.spec文件2.修改.spec文件以导入其他文件3.运行.exe文件一、安装Pyinstallerpipinstallpyinstaller二、使用步骤1.进入主程序目录生成.spec文件该路径下生成两个文件夹build和dist,一个.spec文件2.修改.spec文件以导入其他文件未修改的
- pyinstaller通过spec文件打包py程序的步骤
代码逐梦人
爬虫技能晋升路线python开发语言
这篇文章主要介绍了pyinstaller通过spec文件打包py程序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下pyinstaller是python的一个第三方模块,使用它可以将python程序打包为可执行文件,实现打包后的程序在没有python环境的机器上也可以运行。pyinstaller的安装方式可通过:pipinstallerpyin
- ubuntu安装rabbitmq
一个铲屎官
linux安装教程rabbitmqubuntulinux
1、安装erlang由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlangsudoapt-getinstallerlang-nox2、安装Rabbitmq更新源sudoapt-getupdate安装sudoapt-getinstallrabbitmq-server启动、停止、重启、状态rabbitMq命令sudorabbitmq-serverstartsud
- PyInstaller在Linux环境下的打包艺术
黑金IT
pythonlinux运维服务器
PyInstaller是一款强大的工具,能够将Python应用程序及其所有依赖项打包成独立的可执行文件,支持Windows、macOS和Linux等多个平台。在Linux环境下,PyInstaller打包的可执行文件具有独特的特点和优势。本文将详细介绍PyInstaller在Linux环境下的应用,包括安装、准备项目、打包过程、打包后的可执行文件、常见问题与解决方法、进阶技巧、案例分析以及总结与展
- 一文讲清Python打包工具PyInstaller
算法channel
python开发语言
你好,我是郭震PyInstaller是一个非常受欢迎和强大的工具,它可以将Python程序转换成独立的可执行文件,适用于Windows、Linux和macOS系统。相比于其他的Python打包工具,PyInstaller综合打包能力应该是最好的。使用PyInstaller可以非常方便地将Python脚本及其所有依赖项打包成一个标准的可执行文件,这对于程序的分发和部署非常有帮助。安装PyInstal
- pyinstaller如何下载以及问题解决
如鸿毛
python
pyinstaller如何下载以及问题解决。①windows+R,输入cmd在控制面版输入pipinstallpyinstaller就可以下载。②成功会出现Successfullyinstalledpyinstaller-x.x.x.,同时在你的python的安装目录scripts。③在控制面板进入你编写程序的文件目录。④成功后,进入,生成的dist文件夹,按图片步骤输入回车,就可运行.exe文件
- PyInstaller下载、安装、使用
sayhhhui
pyinstaller笔记exepython
方法一:1、PyInstaller下载及安装win+Rcmd输入:pipinstallpyinstaller-ihttps://pypi.tuna.tsinghua.edu.cn/simple/即安装成功cmd命令行:pipinstallpyinstaller找到安装的位置在d盘2、PyInstaller的使用找到P
- Linux 设置静态IP
高建伟-joe
Linux系统linuxtcp/ip运维centosubuntu
Linux设置静态IPUbuntuvim/etc/netplan/00-installer-config.yaml#00-installer-config.yaml#Thisisthenetworkconfigwrittenby'subiquity'network:ethernets:ens33:dhcp4:false#addresses:[192.168.3.59/24]addresses:[1
- Python Playwright 打包报错 Please run the following command to download new browsers
卡尔特斯
Pythonpython
想做一个浏览器自动化的小插件,本地安装了Playwright,测试可以正常打开浏览器自动化。但是在使用PyInstaller将Python代码打包成app/exe后,打开应用程序报错:playwright._impl._api_types.Error:Executabledoesn'texistat/Users/dengzemiao/Desktop/Project/python/dist/main
- 几种 pyinstall的打包模式
weixin_40941102
python
PyInstaller是一个十分流行的Python打包工具,它能把Python脚本打包成独立的可执行文件,在不同环境中运行。以下为你详细介绍几种常见的PyInstaller打包模式:1.单文件打包模式(--onefile)特点该模式会将Python脚本及其所有依赖项打包成一个单独的可执行文件。这样做的好处是便于分发和部署,用户只需拿到这一个文件就能运行程序,无需额外处理依赖问题。不过,打包过程可能
- Node.js怎么调用到打包的python文件呢
路人与大师
node.jspythonvim
在Node.js中调用打包后的Python可执行文件(如PyInstaller生成的.exe或二进制文件),可以通过以下步骤实现:一、Python打包准备假设已有打包好的Python文件your_script.exe(以Windows为例),核心功能如下:#your_script.pyimportsys,jsonif__name__=="__main__":#接收来自命令行的输入参数input_d
- 架构第二十六章:jumpserver
琴剑诗酒
架构
1.jumpserver:堡垒机官网:https://jumpserver.org功能:身份验证authentication授权控制authorization账号管理accounting安全审计auditing2.安装部署(本地安装)cd/opttar-xfjumpserver-offline-installer-v2.23.3-amd64-30.tar.gzcdjumpserver-offlin
- android动态设置是否允许应用卸载
通信侠
android_systemandroid
摘要:通过广播设置全局参数控制应用是否允许卸载,全局参数在Launcher和PackageInstaller两个模块中使用到。此功能可用于MDM后台控制是否允许设备卸载应用。1.静态注册广播由于系统安装和卸载的功能集中在PackageInstaller模块中,为了更好的调用并适配android标准接口,故将广播注册在PackageInstaller模块,同时添加写全局变量的权限。Index:fra
- 白嫖福利:Adobe Acrobat Pro Windows 系列使用教程
网安学院
软件优化软件工程
一.软件说明软件主要功能为查看.编辑.转换文档的作用;版本对比如下。AcrobatPro//功能强大满足所有需求AcrobatStandard//功能单一满足基本查看需求二.安装步骤1.官网下载地址:下载AcrobatPro版本:https://helpx.adobe.com/acrobat/kb/download-64-bit-installer.html2.安装页面注意不要勾选“AGS"版本验
- CUDA Toolkit安装和验证
乒乓球爱好AI
人工智能深度学习linux
一、cuda下载网址https://developer.nvidia.com/cuda-toolkit-archive二、Win10下载安装三、ubuntu22下载安装3.1cudatoolkit下载3.2安装命令: wgethttps://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda_12.3.0_
- 在LINUX上安装英伟达CUDA Toolkit
云道轩
linux人工智能
下载安装包wgethttps://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-rhel8-12-8-local-12.8.0_570.86.10-1.x86_64.rpm安装RPM包sudorpm-icuda-repo-rhel8-12-8-local-12.8.0_570.86.10-1
- 数据存储:Python对MySQL数据库操作
旧人小表弟
网络爬虫数据库mysqlpythonsqljava
安装mysql官网下载地址:https://dev.mysql.com/downloads/windows/installer/5.7.html如果提示没有.NETFramework框架,在提示框中找到下载链接,下载一个就可以了。如果提示没有MicrosoftVirtualC++x64(x86),百度或谷歌一下这个软件,安装即可。navicatnavicat是一个操作mysql数据库非常方便的可视
- Python 高手编程系列一百五十一:cx_Freeze
杨琴1
python开发语言
cx_Freeze(http://cx-freeze.sourceforge.net/)是另一种用于创建独立可执行文件的工具。它是一种比PyInstaller更加简单的解决方案,但也支持3个主要平台:•Windows;•Linux;•MacOSX。与PyInstaller一样,它不允许我们执行跨平台构建,因此你需要在想要分发的同一个操作系统中创建可执行文件。cx_Freeze的主要缺点是它不允许我
- Python 高手编程系列一千五百五十一:cx_Freeze
杨琴1
python开发语言
cx_Freeze(http://cx-freeze.sourceforge.net/)是另一种用于创建独立可执行文件的工具。它是一种比PyInstaller更加简单的解决方案,但也支持3个主要平台:•Windows;•Linux;•MacOSX。与PyInstaller一样,它不允许我们执行跨平台构建,因此你需要在想要分发的同一个操作系统中创建可执行文件。cx_Freeze的主要缺点是它不允许我
- Geek Uninstaller——好用的软件卸载工具
小马不是哥哥
pdfnotepad++ipad
在Windows系统中,卸载软件后,残留的文件和注册表项可能会对电脑性能产生影响。今天,我们向您介绍一款有效的卸载工具——GeekUninstaller。GeekUninstaller简介GeekUninstaller是一款专为MicrosoftWindows设计的软件卸载程序。它能够在卸载程序后进行深度和快速扫描,彻底删除所有剩余文件和注册表项,帮助您的电脑保持整洁和高效运行。软件特点深度扫描:
- Python 虚拟环境 —— 基于conda、venv的虚拟环境的使用指南
诸葛翛潇
python开发语言
Python在不同的情况下需要使用不同的库,为了方便切换不同项目所用的库,需要使用虚拟环境。创建虚拟环境是一个非常好的习惯!!!在以前我一直都认为虚拟环境很麻烦,不如将自己所有的库都堆到系统环境里。但是,越学到后面越发现这玩意儿的重要性……首先是使用pyinstaller将.py文件打包成.exe文件时,pyinstaller会将环境里的所有库全打包进去,直接增加了exe文件的空间,使用虚拟环境就
- Qt | windows Qt6.5.3安装&安卓环境搭建&虚拟机调试和真机调试完美版(保姆级教程)
Qt历险记
Qt高级开发工程师qtwindowsandroidQt安卓Qt6.5.3安装
Qt安卓发布的手机01、第一章Qt6.5.3安装资源运行成功的界面全网最全Qt国内下载地址清华大学开源软件镜像站https://mirrors.tuna.tsinghua.edu.cn/qt/archive/online_installers/
- 使用PyInstaller将Python项目代码打包成exe
培根芝士
Pythonpython开发语言
PyInstaller是一个非常强大的工具,用于将Python脚本打包成独立的可执行文件(如.exe文件),使得Python应用程序可以在没有安装Python环境的机器上运行。工作原理PyInstaller的核心目标是将Python脚本及其依赖的模块打包成一个独立的可执行文件。它的工作原理可以分为以下几个步骤:(1)分析脚本依赖PyInstaller会分析你的Python脚本,找出所有导入的模块(
- 解决老游戏不兼容新系统win10win11问题
yangshuo1281
游戏数据库
使用python写了一个软件完美解决兼容问题,python开发了一款兼容怀旧老游戏软件游戏有,红警2绿色硬盘版下载cs1.5绿色硬盘版下载星际争霸绿色硬盘版下载,你也可以自己添加游戏。软件和游戏一起打包喜欢拿去玩相关打包代码importPyInstaller.__main__importosimportPyQt5importsys#确保在正确的目录中os.chdir(os.path.dirname
- 如何把一个python文件打包成一步一步安装的可执行程序
hunter206206
pythonpython
将一个Python文件打包成可执行程序(如.exe文件),并实现一步一步的安装过程,通常需要以下步骤:1.将Python文件打包成可执行文件使用工具将Python脚本打包成可执行文件(如.exe)。常用的工具有PyInstaller和cx_Freeze。使用PyInstaller安装PyInstaller:pipinstallpyinstaller打包Python文件:pyinstaller--o
- [Python办公]Nuitka 详细介绍与打包 Python 项目的步骤
William数据分析
pythonpython算法程序人生
Nuitka是一个将Python源代码编译为C/C++并生成二进制可执行文件的编译器。它不仅支持Python的所有特性,还能优化代码运行速度,并生成比解释型运行的Python更小的文件。相比于其他打包工具,如PyInstaller、cx_Freeze,Nuitka通过将Python编译为C提升性能,同时生成更高效的可执行文件。1.Nuitka的工作原理Nuitka并不像PyInstaller等工具
- 【python中级】安装nuitka打包工具
jn10010537
python服务器开发语言
【python中级】安装nuitka打包工具1.背景2.nuitka简介3.nuitka安装4.nuitka文档1.背景最近发程序执行包,被人说程序包很大。比如python通过pyinstaller打包的可执行程序有30M,然而有同事通过C#编译的程序只有几百K;一度让领导觉得C#这个开发者在忽悠或者摸鱼。我感觉到有点尴尬,但是如果都需要解释一遍,显得苍白无力。虽然python开发效率是快,但是执
- 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的配置