- 展锐平台的camera sensor驱动代码设计解析(2)
悲伤的小强
展锐android
展锐平台的camerasensor驱动代码设计解析(1)展锐平台的camerasensor驱动代码设计解析(2)展锐平台的camerasensor驱动代码设计解析(3)Camera驱动的基本配置及文件路径说明驱动的配置在路径:\device\sprd\platform\board\camera\sensor_config.xml驱动代码的路径在:\vendor\sprd\modules\libca
- 展锐平台的camera sensor驱动代码设计解析(3)
悲伤的小强
展锐android
展锐平台的camerasensor驱动代码设计解析(1)展锐平台的camerasensor驱动代码设计解析(2)展锐平台的camerasensor驱动代码设计解析(3)Camera驱动的基本配置及文件路径说明驱动的配置在路径:\device\sprd\platform\board\camera\sensor_config.xml驱动代码的路径在:\vendor\sprd\modules\libca
- <sa8650>sa8650 qcxserver-之-摄像头传感器VB56G4A驱动开发<1>
waterAdmin
驱动开发linuxxml车载系统视觉检测汽车
<sa8650>sa8650qcxserver-之-摄像头传感器VB56G4A驱动开发一、前言二、QCX架构三、QCX传感器驱动程序定制开发3.1sensor硬件接口3.2sensor配置文件3.2.1cameraconfig.c3.2.2cameraconfigsa8650_water.c3.2.3新增编译MK3.2.4参数解析3.2.4.1structCameraConfigI2CDevice
- 当在树莓派上运行 OpenCV 摄像头代码时出现摄像头打不开
李宇杰28
opencv开发语言
当在树莓派上运行OpenCV摄像头代码时出现“libv4l2:erroropeningvideodevice”报错,通常表示在打开视频设备(即摄像头)时遇到了问题。以下是一些可能的原因及解决办法:1.摄像头连接问题物理连接检查:首先确保摄像头与树莓派的物理连接是稳固的。对于树莓派摄像头模块(如官方的CSI摄像头),要检查连接线是否正确插入到树莓派对应的接口上,并且没有松动或损坏。如果是通过USB接
- Python 录音转文字
@小张不嚣张
python开发语言
在Python中,可以使用第三方库来实现录音文件转文字的功能。一个常用的库是speech_recognition。importspeech_recognitionassr#创建语音识别器r=sr.Recognizer()#从录音文件读取音频withsr.AudioFile('audio_file.wav')assource:audio_data=r.record(source)#使用GoogleS
- python如何实现音频转文本(使用百度语音转文本库)
xiaojiawen
python开发语言
1pipinstallBaidu-Aip2在百度开放平台上注册账号,并在控制台中创建应用,选择短语音转文本应用,有几万次的免费配额,超过次数需要付费(价格贵),如图是我自己的注意事项:1,音频文件不能是mp3文件,需要将mp3文件转为无损音乐格式:如flac,wav,pcm等等2,音频文件需要控制在60s以内,如果大于60s,则会报文本超过限制的错误importosfromaipimportAip
- 从Nvidia切换到华为云昇腾芯片的入门技巧
sunrise_ccx
华为云人工智能
Nvidia太贵,尝试使用国产的芯片做AI。等价命令Nvidia昇腾说明nvidia-sminpu-smiinfo查看机器上显卡信息npu-smiinfo-tusages-i查看显卡使用率CUDA_VISIBLE_DEVICESASCEND_RT_VISIBLE_DEVICES指定要使用的显卡【未完待续】
- pytorch单机多卡训练_数据并行DataParallel
Major Tom _
pytorch人工智能python
1.单机多卡概述单卡多级的模型训练,即并行训练,可分为数据并行和模型并行两种.数据并行是指,多张GPUs使用相同的模型副本,但采用不同batch的数据进行训练.模型并行是指,多张GPUs使用同一batch的数据,分别训练模型的不同部分.2.DataParallel源码2.1需要传入的参数module(Module):被并行运算的模型device_ids=None:CUDAdevicesoutput
- adb连接华为手机-菜鸡教程
mackie_H
adb
先打开华为手机的开发者模式详细参考连接百度链接:点击这里如果你的手机不是华为,但逻辑是一样的!这样做的目的就是为了确保你手机开启了usb调试很重要两种方式第一种使用USB线连接手机连上电脑后,手机屏幕会弹框显示是否允许该电脑连接,电脑上也会自动安装手机驱动。CMD窗口中进入adb所在目录。CMD窗口输入adbdevices,此时可以看到自己的设备。在Listofdevicesattached下有自
- YOLOv9-0.1部分代码阅读笔记-train.py
红色的山茶花
笔记YOLO深度学习
train.pytrain.py目录train.py1.所需的库和模块2.deftrain(hyp,opt,device,callbacks):3.defparse_opt(known=False):4.defmain(opt,callbacks=Callbacks()):5.defrun(**kwargs):6.if__name__=="__main__":1.所需的库和模块importargp
- Linux驱动设备--IIO驱动
玮玮豆豆
linuxlinuxc语言ubuntu
一、简介加速度计、陀螺仪、电流/电压测量芯片、光传感器、压力传感器等都属于IIO系列设备IIO模型基于设备和通道架构:设备代表芯片本身,它位于整个层次结构的顶层通道表示设备的单个采集线,设备可能有一个或多个通道。例如,加速度计是具有3个通道的设备,每个轴(X、Y和Z)都有一个通道。用户空间与IIO驱动程序进行交互的两种方式:/sys/bus/iio/iio:deviceX:代表传感器及其通道/de
- linux IIO驱动框架
内核老工人
linux网络运维
工业IO(IndustrialI/O)是专用于ADC和DAC的内核子系统,加速度计、陀螺仪、电流电压测量芯片、光传感器、压力传感器等都属于IIO系列设备。IIO模型采用设备和通道架构。其中设备属于芯片本身,通道则表示设备的单个采集线,设备可能有若干个通道。例如加速度计就有3个通道,每个轴(X、Y和Z)都有一个通道。IIO设备和用户空间交互有两种方式:/sys/bus/iio/iio:deviceX
- Mac 系统占用100G+解决办法(详细步骤)
X_Pqk
macoscocoaobjective-c
清空iOSDeviceSupport~/Library/Developer/Xcode/iOSDeviceLogs清空Products~/Library/Developer/Xcode/ProductsXcode12及之后版本还有3个占用内存的文件分别是:第一名:iOS.simruntime10.29 GB(iOS日常开发需要使用,勿删)第二名:watchOS.simruntime7.05 GB(
- 训练入口+保存模型
如若123
深度学习python人工智能
importargparsefromtorch.utils.dataimportDataLoaderfromtesting.testingimport*frommodels.model_coupled_v1importUnetfromdata.data_loadimport*importglobfromcollectionsimportOrderedDictdevice="cuda:0"iftor
- 提取图片颜色信息转数据信息
~夕上林~
图像处理matlab
提取图片颜色信息转数据信息背景:给定原始图片如下,数据范围为0~2π\piπ,如何通过给定图片,提取出来对应的数据信息。目录提取图片颜色信息转数据信息分析颜色模型图像预处理图像修复图片重建和裁剪提取数据分析原始图片存在两个数据图Transmittedwave和Reflectedwave,接下来将其简称为c图和d图。两数据图的颜色范围和数据范围均一致,之后以c图进行分析:项目Value长lll2.2
- appium自动化测试app在线升级软件时候使用dontStopAppOnReset参数让软件不关闭,卸载在安装新包
weixin_42811974
appium
使用dontStopAppOnReset参数:这个参数的作用是在Appium会话结束时,不会关闭应用。这样,即使Appium会话被关闭,应用也会保持在运行状态,然后软件就可以自己来安装新的应用包。defrestart_app(self)->WebDriver:ifself._driverisNone:caps={}caps["platformName"]="android"caps["device
- FFmpeg音视频采集
yerennuo
ffmpegffmpeg音视频
文章目录音视频采集音频采集获取设备信息录制麦克风录制声卡视频采集摄像机画面采集音视频采集DirectShow(简称DShow)是一个Windows平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能,它支持多种多样的媒体文件格式,包括ASF、MPEG、AVI、MP3和WAV文件,同时支持使用WDM驱动或早期的VFW驱动来进行多媒体流的采集。DirectShow大大简化了媒体回放、格式转换和采集
- 删除Docker出现: device or resource busy错误
alxe_made
DockerdeviceorresourcebusyDocker
最近在折腾Docker,然后需要删除Docker然后出现deviceorresourcebusy错误,也是很麻烦。1.安装Docker主要是参考阿里云的Docker安装,然后配置镜像加速器2.问题出现,删除Docker.先是参考这篇帖子Ubuntu彻底卸载Docker,然后出现Deviceorresourcebusy错误。如果执行sudoservicedockerstart命令,出现错误:star
- FFmpeg iOS 集成
ihsdwj
iOSFFmpegiOS音视频解码
一、FFmpeg简介它包含可供应用程序使用的libavcodec,libavutil,libavformat,libavfilter,libavdevice,libswscale和libswresample。以及ffmpeg,ffplay和ffprobe可供最终用户用于转码和播放。适用于开发人员的FFmpeg库libavutil是一个包含用于简化编程的函数的库,包括随机数生成器,数据结构,数学例程
- C语言读取pcm格式,pcm文件转wav C语言
深夜利行
C语言读取pcm格式
#include#include/***ConvertPCMrawdatatoWAVEformat*@parampcmpathInputPCMfile.*@paramchannelsChannelnumberofPCMfile.*@paramsample_rateSamplerateofPCMfile.*@paramwavepathOutputWAVEfile.*/inttransform_pcm
- Linux lsblk 命令详解
linux
简介Linux中的lsblk命令,全称叫做:listblockdevices用于列出块设备的信息,如硬盘、ssd盘及其分区。它提供了系统上所有块设备的树形结构,显示了它们的安装方式、大小和类型。lsblk命令读取sysfs文件系统和udevdb收集信息。如果udevdb不可用或在没有udev支持的情况下编译lsblk,然后它尝试读取来自块设备的标签、uuid和文件系统类型基础语法lsblk[opt
- ADB相关命令
张一一呀
adb
1.列出所有包名:adbshellpmlistpackages2.查看当前运行的包名:adbshelldumpsysactivityactivities|grepmFocusedActivityadbshelldumpsysactivityactivities|sed-En-e'/Runningactivities/,/Run#0/p'1、查看连接的设备adbdevices该命令可以查看连接的ad
- adb 命令使用大全
@小张不嚣张
android小功能adb
1.adb针对设备adbdevices//查看链接设备adb-s"设备序号"shell+命令//选择设备执行adbconnect"ip地址"adbdisconnect"ip地址"adbshellscreencap-p/sdcard/screenshot.png//截图adbpull/sdcard/filename//拉取设备文件adbshellgetpropro.product.model//查看
- Android 10适配获取设备信息
2401_89791130
android
}作者在对待Android10及以上的用户进行了return""的操作,但我们在开发的过程中是需要去适配这个型号的用户的,查找了错误描述。heuser10553doesnotmeettherequirementstoaccessdeviceidentifiers.通过查看GoogleAndroid开发者官方文档《唯一标识符最佳做法》发现自Android10(API级别29)起,您的应用必须是设备或
- Wav文件格式
昉钰
多媒体WavAndroid
目录1、文件整体结构1.1RIFFChunk块1.2FormatChunk区块1.3DATA块1.4文件示例分析2、Android上Wav录制2.1首先初始化AudioRecord(忽略权限相关代码):2.2启动录制2.3格式转换(Wav)3、参考文章1、文件整体结构WAV文件的数据体区块一般由3个区块组成:RIFFChunk、FormatChunk和DataChunk。如上图三个不同颜色区域。1
- 电磁场仿真软件:CST Microwave Studio_(15).多物理场耦合仿真
kkchenjj
电磁场仿真服务器数据库android电磁场仿真仿真模拟
多物理场耦合仿真1.多物理场耦合仿真的基本概念多物理场耦合仿真(MultiphysicsCouplingSimulation)是指在仿真过程中同时考虑多个物理场的相互作用。这些物理场可以包括但不限于电磁场、热场、机械场、流体场等。在许多实际工程应用中,不同物理场之间存在着复杂的相互作用,仅仿真单一物理场往往无法全面准确地描述系统的整体行为。因此,多物理场耦合仿真成为解决这类问题的有效手段。1.1电
- LimeSuite库函数说明
Christal_pyy
c++
LMS_SetSampleRate(lms_device_t*device,float_typerate,size_toversample)device:设备句柄(lms_device_t*),在之前通过调用LMS_Open()获得。rate:采样率,以Hz为单位,设置为设备与主机之间数据交换的采样率。oversample:RF硬件的过采样比率。有效的过采样值有:1,2,4,8,16,320表示使
- (6)STM32 USB设备开发-USB键鼠一体设备
andylauren
STM32USB设备开发stm32嵌入式硬件单片机
例程:STM32USBdevice:基于STM32的USB设备例子程序-Gitee.com键鼠一体的应用场景如集合器,比如我们在网上购买的键鼠套装,是将2.4G集合到一个USB接收器中,这个USB接收器对于PC来说就是一个键鼠一体设备。或者我们可以自制一个带有鼠标摇杆的键盘等场景。键鼠一体实现方式是在报告描述符中描述两个设备,即键盘设备和鼠标设备,报告描述就是将键盘描述和鼠标描述何为一个,那么PC
- 02 STM32F103 USB固件开发-移植JoyStickMouse(1)
yplinux
基于STUSB固件库STM32F103USB设备开发stm32嵌入式硬件单片机
STM32F103USB固件开发-移植JoyStickMouse(1)文章目录STM32F103USB固件开发-移植JoyStickMouse(1)1.STUSB固件库介绍2.移植JoyStickMouse例程3.备注1.STUSB固件库介绍下载的固件库是:en.stsw-stm32121.zip目录结构介绍如下:2.移植JoyStickMouse例程2.1把STM32_USB-FS-Device
- 小波变换Python代码
优游的鱼
小波变换是一种数字信号处理技术,用于对信号进行频域分析和处理。它通常用于信号压缩、滤波和其他信号处理应用中。在Python中,可以使用PyWavelets库来实现小波变换。下面是一个简单的例子,展示了如何使用PyWavelets库对信号进行小波变换:importpywtimportnumpyasnp#定义信号signal=np.random.rand(32)#进行小波变换wavelet='db1'
- 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的配置