- PHP语法入门完全指南(2024新版)
生信天地
php开发语言
一、开发环境搭建1.1快速启动方案本地环境:安装XAMPP(含Apache+PHP+MySQL)在线沙盒:使用PHPSandboxDocker方案(推荐):dockerrun-it-p80:80-v$(pwd):/var/www/htmlphp:8.2-apache1.2第一个PHP程序▶️运行方式:浏览器访问http://localhost/01_hello.php二、基础语法核心2.1变量与常
- 【探索C++】友元
祐言QAQ
探索C++编程开发语言c++linuxjavahttps网络
(꒪ꇴ꒪),Hello我是祐言QAQ我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP快上,一起学习,让我们成为一个强大的攻城狮!送给自己和读者的一句鸡汤:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误,请在评论区指正,感谢在C++中,友元(friend)是一种特殊的关系,它允许一个类或函数访问另一个类的私有成员。通过友元关系,一个类可以将其他类或函
- PyTorch实战深度学习——用CNN进行手写数字识别
一位小说男主
人工智能入门深度学习
用CNN进行手写数字识别---计算机专业研究生的代码第一课,相当于”HelloWorld“,不管以后选择什么研究方向,都值得一看,欢迎大家留言交流学习!下面手把手教大家一步一步实现该任务:1.环境准备首先呢,您需要确保安装了PyTorch库。如果还没有安装,可以使用以下命令进行安装,这里默认您已经有Anaconda并创建好虚拟环境啦,如果还没有安装,可以参考其他更完整的安装pytorch的教程:p
- goalng1.8 的变化
billgates_wanbin
golang版本变化
Go1.8简介最新的Go版本1.8版比Go1.7版本晚了六个月。它的大部分更改是在工具链,runtime,和libraries的实现上。语言规范有两个小的更改。与往常一样,该版本保留了Go1兼容性的承诺。我们希望几乎所有Go程序都能像以前一样继续编译和运行。该版本增加了对32位MIPS的支持,更新了编译器后端以生成更有效的代码,通过消除stop-the-world的堆栈重新扫描来减少了GC暂停,增
- vue字符串的常用方法,截取字符串,获取字符串长度,检索字符串
luckyext
vue.jsjavascript前端
1.使用substr方法截取字符串letstr="12345";letpart=str.substr(0,3);//截取从索引0开始到索引3的子字符串console.log(part);//"123"2.获取字符串长度JavaScript中的字符串有一个length属性,该属性可以用在VUE获取字符串的长度conststr='hello';str.length输出结果:53.检索字符串是否包含特定
- 自动化办公|xlwings快速入门
游客520
实用代码自动化python从入门到出家python前端linux
1.创建和打开Excel工作簿使用xlwings.Book创建新的Excel工作簿或打开已有的Excel文件。创建新工作簿importxlwingsasxw#创建一个新的Excel工作簿wb=xw.Book()#获取当前活动的工作表sheet=wb.sheets.activesheet.range("A1").value="Hello,xlwings!"打开已有工作簿wb=xw.Book("exa
- Python学习心得字符串的去重操作
lifegoesonwjl
python开发语言pycharm
一个字符串中可能包含许多相同的元素,为了保证字符串中的唯一性,下面介绍的是字符串的去重操作:第一种方式:利用for+if的结构进行去重这个程序是对字符串中的每个元素进行判断,如果不在新建的空字符串中就把该元素添加进来,否则就直接忽略过去。s='helloworldhelloworldhelloworld'new_s=''foritemins:ifitemnotinnew_s:new_s+=item
- python编译成dll_如何用 C++ 为 Python 写 dll
刘大1984
python编译成dll
1.先新建一个名为hello.cpp的C++源文件:#include#defineDLLEXPORTextern"C"__declspec(dllexport)DLLEXPORTint__stdcallhello(){printf("Helloworld!\n");return0;}2.编译成dll文件:cl/LDhello.cpp注意,这里的参数是/LD,而不是/DL。3.编写一个名为hello
- 魔兽世界Gm重置副本命令
一筐猪的头发丝
在魔兽世界中,使用重置副本命令的方式取决于你是否是GM(游戏管理员)。如果你是GM,你可以使用以下命令来重置副本:在游戏内使用命令行:.resetinstance这个命令会重置当前的副本,如果你在副本外,这个命令不会有任何效果。在游戏外使用命令行:worldserver.exe-c".resetinstance"这个命令会重置所有当前活动的副本。注意:这些命令仅适用于GM,如果你不是GM,是普通玩
- Java学习笔记
范梦迪
java笔记
第一章Java基础1.HelloWorld程序publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hello,World!");}}2.数据类型Java提供了多种数据类型,包括基本数据类型和引用数据类型。基本数据类型用于存储简单的数据值,而引用数据类型用于存储对象的引用。2.1基本数据类型Java
- 几个字符串操作函数(深析)
阅月跃悦
c语言c++算法
1、mystrupr--将小写字母转换为大写(my-string-up)#includevoidmystrupr(char*str){while(*str){if(*str>='a'&&*str='a'&&*strintmystrlen(char*str){intlen=0;while(*str++){len++;}returnlen;}intmain(){charstr[]="HelloWorl
- C语言【基础篇】之简单语法——构建程序大厦的基石解析
EnigmaCoder
cc语言开发语言
简单语法前言第一个程序分析✍️注释常量与变量强制类型转换️标识符与关键字scanf与printf介绍⚙️转义字符总结前言大家好!我是EnigmaCoder。本文收录于我的专栏C,希望能帮助到您!前文我们讲解了该如何搭建环境。链接:C语言【基础篇】之搭建环境——从新手到实战的必备前奏本文我们介绍一下C语言最基础的一些知识,为构建程序大厦打好基石。第一个程序分析HelloWorld程序分析#inclu
- 通过例子学 rust 个人精简版 1-1
独好紫罗兰
通过例子学rustrust开发语言
1-1HelloWorldfnmain(){println!("HelloWorld!");//动手试一试println!("I'maRustacean!");}HelloWorld!I'maRustacean!要点1:println自带换行符注释fnmain(){letx=5+/*90+*/5;println!("Is`x`10or100?x={}",x);}要点2:行注释//与块注释/**/要
- Python和Python3的区别看这篇就够了
小尤笔记
python开发语言爬虫数据库
Python和Python3(通常指Python2)之间的区别在代码层面主要体现在语法、字符串处理、整数除法、异常处理以及库和框架的兼容性等方面。以下是对这些区别的详细讲解:CSDN大礼包:《2025年最新全套学习资料包》免费分享一、语法差异Print语句与函数Python2:print是一个语句,不需要括号。例如,print"Hello,World!"。Python3:print成为了一个函数
- 第六篇:数字逻辑的“矩阵革命”——域控制器中的组合电路设计
天天爱吃肉8218
学习笔记矩阵线性代数汽车笔记
副标题:用卡诺图破解车身域控制器的逻辑迷宫,揭秘华为DriveONE的“数字特工”▍开篇:黑客帝国世界观映射>"WelcometotheRealWorld."——Morpheus>在数字逻辑的世界里,组合电路就是构建Matrix的底层代码。当新能源汽车的域控制器需要同时处理车门锁、灯光控制、热管理信号时,就像Neo同时躲避多个特工的追击——只有最优化的逻辑设计,才能让系统在纳秒级响应中游刃有余。核
- 【20天快速掌握Python】day06-元组、字典、集合
菜鸟进阶站
编程Python后端开发pythonjava开发语言
1.元组的使用Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。 >>>aTuple=('et',77,99.9) >>>aTuple ('et',77,99.9)1.1访问元组 tuple=('hello',100,3.14) print(tuple[0]) """ 输出结果: hello """1.2修改元组 tuple=('hello',100,3
- const成员函数及错误提示error C2511: 'void Tack::Set_Data(void) const' : overloaded member function not found
喜欢做我自己
C++const成员函数C++
对于成员函数Set_Data()来说,其无法保证调用对象不被修改,如果要像const一样不被修改,可以使用一种新的语法来保证函数不会修改调用对象。在C++语法中,可以将const关键字放到函数的括号后面。//函数声明处classTack{private:std::stringm_hello;longm_shares;intm_num;doublem_value;public:Tack();void
- C语言--指针(三)
weixin_51790712
c语言开发语言
预处理#includehello.cgcchello.c//编译预处理(预编译)汇编(汇编语言)---助记符编程:人类语言--->编程语言(C语言)---汇编语言--->机器语言(01010)八位的单片机01010101//加法//0101010116位32位01010101010101010101010101010101//add64位main(){inta=1;intb=2;printf("h
- C语言中字符型一维数组
weixin_51790712
c语言算法数据结构
1.一维数组的定义方式为:类型说明符数组名[常量表达式];charch[10];//字符型的一维数组//表示可以存储10个char类型的数据2.字符串:希望可以处理字符串数据(1).字符串--按照一维字符型数组的方式存储的(2).charch[10]={'h','e','l','l','o'};//字符型数组"hello"//字符数组的形式存储的(3).字符串都有一个结束标志(4).字符串是一个特
- (二)用控制器controller给模型数据赋初始值
diandingyin9417
javascriptViewUI
之前博客,非常easy的就实现了模型数据和页面显示的自己主动绑定。如今我们使用控制器,给模型赋初始值。假设使用jquery来实现变量赋初值,须要在页面载入完毕后运行$("#target").attr("value",selfValue);使用AngularJS代码例如以下:Hello,World!functionWholeController($scope){$scope.yourName="at
- python_文件处理与re正则
weixin_101
pythonLinux笔记pythonlinux运维运维开发
#############################################################################################python文件处理文件分类:文本文件,二进制文件字节串类型:一段数据的二进制内容字符串与字节串相互转化方法:(1)普通的英文字符串常量可以在前面加b转换为字节串,例如:b"hello"(2)变量或者包含非英文字符
- 【深度学习】YOLO-World: Real-Time Open-Vocabulary Object Detection,目标检测
XD742971636
深度学习机器学习深度学习YOLO目标检测
介绍一个酷炫的目标检测方式:论文:https://arxiv.org/abs/2401.17270代码:https://github.com/AILab-CVC/YOLO-World文章目录摘要Introduction第2章相关工作2.1传统目标检测2.2开放词汇目标检测第3章方法3.1预训练公式:区域-文本对3.2模型架构3.3可重参数化的视觉-语言路径聚合网络(RepVL-PAN)3.4预训练
- jsp页面跳转失败
Yolowuwu
Javajava开发语言jsp
今天解决一下jsp页面跳转失败的问题在JavaWeb的学习过程中,编写了这样一段代码:HelloWorld!用户名:密码:运行得到这个界面:提交之后显示404经过查找发现如果跳转失败证明jsp页面还不支持el表达式可以在jsp文件最上面加上:达到预期效果,问题解决!
- 【Unity3D小功能】Unity3D中有限状态机的简单实现
恬静的小魔龙
#Unity3D之实用功能及技巧游戏设计模式有限状态机unity
推荐阅读CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、前言Hello,大家好,我是☆恬静的小魔龙☆,正所谓学而不思则罔,思而不学则殆,最近项目开发中,人物的动作特别多,用状态机去切换感觉太麻烦,然后切换的效果也并不理想。比如下面的状态机:
- protobuf
fly1ng_duck
Cartographer
这是谷歌一个开源的交换与存储数据的轮子https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html绝对域名1.proto文件需要编译2.编译后生成头文件和实现文件cc头文件生成了对应的消息类cc负责3.可以利用生成的消息累进行读写,需要编写读写类(当我们需要将该结构化数据保存到磁盘上时,类lm::helloworld已经提供相应的方
- React中定义和使用函数式组件
开发小途
react.js前端
在React中,函数式组件是一种通过普通JavaScript函数定义的组件。它们接收props作为参数,并返回React元素。从React16.8开始,函数式组件还可以利用Hooks来增加状态和其他React特性。1.简单的函数式组件importReactfrom'react';constHelloWorld=(props)=>{return(Hello,{props.name}!);};expo
- 昆仑万维发布Matrix-Zero世界模型,开启空间智能新时代
量子位
2月14日,昆仑万维正式推出Matrix-Zero世界模型,成为中国第一家同时推出3D场景生成、可交互视频生成模型的探索空间智能的企业。Matrix-Zero世界模型包含两款子模型:013D场景生成大模型昆仑万维自研3D场景生成大模型,支持将用户输入的图片转化为可自由探索的真实合理的3D场景,比WorldLabs生成场景的探索范围更大更自由,而且包括动态物理效果;02可交互视频生成大模型昆仑万维自
- Python基础(上)
索然无味io
Python安全开发python开发语言网络windowsweb安全安全网络安全
1.基础语法1.1环境安装Python版本:推荐使用Python3.6.6及以上开发工具:PyCharm1.2基本语法输出:print("HelloWorld")注释:单行注释:#注释内容(快捷键Ctrl+/)多行注释:使用三引号'''注释内容'''注意:不推荐作为正式注释。1.3变量命名规范规则:由字母、数字、下划线组成,不能以数字开头不能使用Python关键字(如if,for)区分大小写命名风
- 常用数据格式:json、bson、msgpack
ChiLi_Lin
json
JSON(JavaScriptObjectNotation)常用文件格式,可读性高一般用于远端配置,客户端基础配置等。BSON(BinaryJSON)二进制的Json,一般用于服务器MongoDB存储。类型定义:https://bsonspec.org/spec.html{"hello":"world"}→\x16\x00\x00\x00//totaldocumentsize\x02//0x02=
- Flask Web开发的重要概念和示例
魔尔助理顾问
PythonFlaskWeb开发案例python后端flaskpycharm
一口气列举FlaskWeb应用的所有概念和示例FlaskWeb应用基本框架路由(Routing)模版(Template)request对象JSON数据处理redirect示例文件上传示例文件下载示例Session示例Cookie操作FlaskWeb应用基本框架这是一个最基础的FlaskWeb应用,它包含:1.主页(/)→返回“Hello,Flask!”2.动态路由(/hello/)→通过URL传递
- 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的配置