- python 源码安装_源码安装python
weixin_39959794
python源码安装
编译安装新版本python一般来说python是linux系统的标配,但是版本一般却很老,而系统上面的很多服务可能与老的python存在依赖关系,我们又不能直接卸载。所以一般,我们可以在一个单独的目录来安装python。python安装有两种方法:1.源码编译2.使用pyenv此处我们使用源码编译安装:1.下载源码:https://www.python.org/ftp/python/此处有各个版本
- python 源码安装
thjinhao
python
linux环境下python3.9安装yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devellibffi-develyum-yinstallgcc4.python环境的安装(安装pyenv
- unixbench系统性能测试
itas109
运维unixbench系统性能测试cpu基准测试cpu性能测试系统基准测试
unixbench系统性能测试环境:UnixBench:6.0.0(2025-05-21)简介UnixBench是一款经典的Unix/Linux系统性能测试工具,主要用于评估系统的CPU运算能力、内存性能、多线程处理能力以及部分系统调用(如进程创建、文件操作)的效率。UnixBench是开发板(如ARM架构的树莓派、RK3588等)评估CPU和系统整体性能的常用工具。2.编译和运行2.1获取Uni
- docker 常见错误
零一间
服务启动失败#systemctlstartdocker.serviceJobfordocker.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusdocker.service"and"journalctl-xe"fordetails解决方法修改/etc/docker/daemon.json文件(j
- Linux 基本指令详解
Cherl.
Linuxlinux运维服务器基本命令
1.pwd(PrintWorkingDirectory)显示当前工作目录的完整路径root@hcss-ecs-a3f4:~#pwd/root2.ls(List)列出目录内容ls#查看当前目录下文件和文件夹ls-l#长格式显示(显示权限、所有者、大小、修改时间等)ls-a#显示所有文件(包括隐藏文件)ls-la#长格式显示所有文件ls-lh#以人类可读的方式显示文件大小ls-R#递归显示子目录ll为
- error ‘vue‘ 不是内部或外部命令,也不是可运行的程序或批处理文件 [Windows/Mac/Linux 系统解决方案大全]
error‘vue‘不是内部或外部命令,也不是可运行的程序或批处理文件[Windows/Mac/Linux系统解决方案大全]在使用Vue.js开发时,常常会遇到如下错误提示:'vue'不是内部或外部命令,也不是可运行的程序或批处理文件。这是因为系统无法识别vue命令,可能源于多种原因:未安装或未正确配置环境变量、VueCLI未安装、Node.js管理工具(如nvm)切换版本后未重新全局安装等。作者
- 超简单linux上部署Apache
悟空骑猪看电影
apachelinux运维网络
1.Apache是什么?Apache是世界上最流行的开源Web服务器软件,由Apache软件基金会维护。主要功能:接收客户端(如浏览器)的HTTP请求,返回网页、图片等静态/动态资源。特点:跨平台(Linux、Windows、macOS)模块化设计(按需加载功能)支持多语言扩展(PHP、Python等)高稳定性和安全性2.核心架构与工作原理多进程模型(MPM)Prefork:多进程模式,每个请求由
- CentOS7脚本一键安装Docker
岚天start
dockereureka容器
安装脚本内容#!/bin/bash#卸载旧版本Docker(若有)echo"正在卸载旧版本Docker..."sudoyumremove-ydocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine\docke
- 【K8s】专题四(4):Kubernetes 控制器之 StatefulSet
本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发、订阅专栏!专栏订阅入口Linux专栏|Docker专栏|Kubernetes专栏往期精彩文章【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决方法【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决方法(续)【Docker】MySQL源码构建Docker镜
- lvs 集群技术
一.lvs概述LVS是LinuxVirtualServer的缩写,中文通常称为Linux虚拟服务器。它是一个开源的、高性能的、基于四层(传输层,TCP/UDP)的服务器负载均衡解决方案。简单来说,LVS的核心功能就是:将客户端的请求流量智能地、高效地分发到后端的多个真实服务器上,对外表现为一个单一的、高性能、高可用的虚拟服务器。LVS的核心组件和工作原理负载均衡器/调度器/前端服务器:通常被称为D
- LVS集群技术介绍
Milgram Ma
lvs运维linux
LVS(LinuxVirtualServer)集群,即Linux虚拟服务器集群,是一个在Unix/Linux平台下实现负载均衡集群功能的系统。它由国人章文嵩博士在1998年开发,是中国国内最早出现的自由软件项目之一,现在LVS已经是Linux内核标准的一部分。LVS集群通过将多台服务器组织起来,共同对外提供服务,以提高系统的整体性能、可扩展性和高可用性。LVS的核心作用是分发网络请求,以达到以下目
- 全网最详细LVS(Linux Virtual Server)讲解
钮枯禄赵氏
云原生
一、集群和分布式简介1.1系统性能扩展方式ScaleUP:向上扩展,增强ScaleOut:向外扩展,增加设备,调度分配问题,Cluster1.2集群ClusterCluster:集群是为了解决某个特定问题将堕胎计算机组合起来形成的单个系统Cluster常见的三种类型:*LB:LoadBalancing(负载均衡)由多个主机组成,每个主机只承担一部分访问*HA:HighAvailiablity(高可
- Linux笔记8 web服务器的部署及优化
月熊
笔记linux
用户常用关于web的信息www概念www是worldwideweb的缩写,及万维网,也就是全球信息广播的意思通常说的上网就是使用www来查询用户所需要的信息。www可以结合文字、图形、影像以及声音等多媒体,超链接的方式将信息以Internet传递到世界各处去。当你连接www网站,该网站会提供一些数据,客户端要使用可以解析这些数据的软件来处理,那就是浏览器网址URI:UniformResourceI
- Linux笔记9 DNS域名解析服务器
月熊
服务器linux笔记
简介DNS(DomainNameSystem)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。DNS使用的是53端口,通常DNS是以UDP这个较快速的数据传输协议来查询的,但是没有查询到完整的信息时,就会再次以TCP这个协议来重新查询所以启动DNS时,会同时启动TCP以及UDP的port53。因特网的域名结构由于因特网的用户数量较多,所以因特网在
- docker部署dm数据库
yy1209357299
运维Linuxdocker容器运维dm
官方文档参考官网地址:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html下载镜像地址docker部署1、加载镜像dockerload-idm8_20240613_x86_rh6_64_rq_ent_8.1.3.140_pack5.tar使用dockerimages,查看镜像和镜像标签2、创建路径,挂载备用mkd
- Linux(Centos 7.6)命令详解:unset
豆是浪个
linuxcentos运维
1.命令作用删除指定的变量或函数2.命令语法Usage:unset[-f][-v][name...]3.参数详解OPTION:-f,仅删除函数(若未指定,默认优先删除变量)-v,仅删除变量(不包括只读变量)name,要删除的变量或函数名(支持多个)4.常用用例4.1.函数相关用例[root@node1~]#hello(){echo"World";}#定义函数[root@node1~]#hello#
- Linux(Centos 7.6)命令详解:jobs
豆是浪个
linuxcentos运维
1.命令作用显示后台运行或暂停的作业列表,包括作业编号、状态(Running/Stopped/Terminated/Done)和执行命令2.命令语法Usage:jobs[-lnprs][jobspec...]orjobs-xcommand[args]3.参数详解OPTION:-l,显示进程ID(PID)和详细信息-n,显示状态刚变成Running状态的job-p,仅显示后台作业的进程ID(PID)
- 达梦数据库-dm8的docker部署及其导入导出
睡不醒的双眼皮
数据库linux运维
#部署单节点dockerrun-d-p5236:5236--restart=always--name=dm8--privileged=true-eLD_LIBRARY_PATH=/opt/dmdbms/bin-ePAGE_SIZE=16-eEXTENT_SIZE=32-eLOG_SIZE=1024-eUNICODE_FLAG=1-eINSTANCE_NAME=dm8-v/dm8/data:/opt
- Linux指令大全网站
Linux指令大全网站!Linux命令大全(手册):超全!且提供指令查询网址:https://www.linuxcool.com/Linux指令(菜鸟教程):超全!提供清晰的表格查找网址:https://www.runoob.com/linux/linux-command-manual.htmlLinux中文在线手册:这个网站可以检索Linux命令,提供了命令的例子和收藏命令的搜索平台网址:htt
- windows docker-01-desktop install windows10 + wls2 启用
老马啸西风
Docker容器学习实战笔记windowsdocker容器ubuntulinuxk8s运维
windows10安装docker版本信息确认需要区分windows是amd64还是arm64powershell中执行:>echo$env:PROCESSOR_ARCHITECTUREAMD64下载官方https://www.docker.com/products/docker-desktop/下载windowsamd64下载好了直接安装。如何验证powershell中dockerversion
- windows wsl2-06-docker hello world
hello-world例子就像其他任何一门语言一样,我们来体验docker的helloworld$dockerrunhello-world但是报错:~$dockerrunhello-worldUnabletofindimage'hello-world:latest'locallydocker:Errorresponsefromdaemon:Get"https://registry-1.docker
- git bash命令不够完善,想整合msys2该怎么办?
GitBash本质上是基于MSYS2的精简版,它使用的是一个较轻量的MSYS2环境,因此它们在某种程度上是“同源”的。但是:GitBash是精简的,只提供最基础的Unix工具MSYS2是完整的,可以通过pacman安装很多包想要整合的目的是什么?如果你是想在GitBash里使用更多Linux命令(比如wget、curl、man、zip等),那GitBash本身不支持pacman包管理器,你有两个选
- Dockerfile 使用指南
赵大仁
运维技术nodejsdocker容器服务器运维
Dockerfile使用指南一、什么是Dockerfile?Dockerfile是一个文本文件,包含了一系列指令(Instruction),用于定义一个Docker镜像的构建过程。通过dockerbuild命令,Docker会按照Dockerfile中的指令自动构建镜像。二、Dockerfile基本结构一个典型的Dockerfile包含以下几类指令:1.基础镜像FROMnode:18-alpine
- 3.2 linux用户管理 : 用户CRUD 【就是对/etc/passwd数据库的修改】
阳光的王小潮
3.2linux用户管理:用户CRUD【就是对/etc/passwd数据库的修改】思维导图1.增加用户useraddadduser$useradd/adduser##增加用户$passwd##设置密码$userdel##删除用户只有debian的sudo和RedHat的wheel的用户组才能执行$su##切换用户$id##查看指定用户的uid,gid,groupid2.查看指定用户的uid,gid
- windows docker-02-docker 最常用的命令汇总
老马啸西风
Docker容器学习实战笔记dockereureka容器ubuntumavenlinux运维
一、镜像管理命令说明常用参数示例dockerpull:拉取镜像dockerpullnginx:latestdockerimages查看本地镜像dockerimages-a(含中间层镜像)dockerrmi删除镜像dockerrmi-f$(dockerimages-q)(强制删除所有镜像)dockerbuild-t.构建镜像dockerbuild-tmyapp:v1-fDockerfile.prod
- Dockerfile 完全指南:从入门到精通
赵大仁
nodejs运维技术docker运维服务器node.js
Dockerfile完全指南:从入门到精通一、什么是Dockerfile?Dockerfile是一个文本文件,包含了一系列构建Docker镜像的指令。通过Dockerfile,开发者可以将应用程序的构建过程标准化、自动化,确保在任何环境中都能生成一致的镜像。使用Dockerfile构建镜像的核心优势:可重复性:相同的Dockerfile在任何环境下都能生成相同的镜像可维护性:以代码形式管理镜像构建
- Ubuntu 22.04 安装 Jdk 8和 Tomcat (安装包形式)
jiuqi_玖柒
Ubuntu22.04javaubuntutomcat
一、安装jdk1.81.jdk下载网址,需要登录账户才能下载https://www.oracle.com/java/technologies/downloads/#java82.把安装包上传到服务器上解压根据这个指令直接解压到当前自动生成jdk-8u421文件夹tar-zxvfjdk-8u421-linux-x64.tar.gz3.配置变量vim/etc/profile#在这个配置文件中的最后添加
- 每日面试题11:JVM
深入理解JVM:Java的“心脏”如何驱动程序运行?为什么需要JVM?你是否想过,为什么用Java写的程序,能在Windows、Linux、macOS上“无缝运行”?为什么开发者无需为不同操作系统重写代码?这背后的核心功臣,正是Java虚拟机(JavaVirtualMachine,JVM)。JVM是Java生态的“基石”,它不仅实现了“一次编写,随处运行”的跨平台特性,还通过内存管理、垃圾回收等机
- Linux下SPI设备驱动实验:向SPI驱动框架中加入字符设备驱动框架代码
一.简介前一篇文章编写了SPI设备驱动框架代码,文章如下:Linux下SPI设备驱动实验:SPI设备驱动框架编写-CSDN博客本文继续SPI驱动代码的编写。向SPI驱动框架中加入字符设备驱动框架代码。二.向SPI驱动框架中加入字符设备驱动框架代码1.添加字符设备驱动框架的代码打开ubuntu系统,通过vscode打开18_spi工程。向SPI设备驱动框架中添加字符设备驱动框架的代码。添加如下:(1
- Linux下SPI驱动:SPI设备驱动简介
一.简介Linux下的SPI驱动框架和I2C很类似,都分为主机控制器驱动和设备驱动,主机控制器也就是SOC的SPI控制器接口,SPI设备驱动也就是所操作的SPI设备的驱动。本文来学习一下Linux下SPI设备驱动。二.Linux下SPI驱动:SPI设备驱动简介1.spi_driver结构体spi设备驱动也和i2c设备驱动也很类似,Linux内核使用spi_driver结构体来表示spi设备驱动,我
- 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的配置