- Python使用阿里云发送短信的两种方式
菲宇
python项目实战python
参考文档https://help.aliyun.com/document_detail/215764.html安装依赖包pipinstallalibabacloud_tea_openapipipinstallalibabacloud_dysmsapi20170525==2.0.9第一种方式fromaliyunsdkcore.clientimportAcsClientfromaliyunsdkcor
- Git 常用指令及其说明
浪九天
项目管理工具git源代码管理
配置相关#配置全局用户名gitconfig--globaluser.name"YourUsername"#配置全局邮箱gitconfig--globaluser.email"
[email protected]"说明:这两条命令用于设置Git全局的用户名和邮箱,在提交代码时,这些信息会被记录在提交历史中,用于标识提交者。仓库初始化#在当前目录初始化一个新的Git仓库gitinit说明:执行
- Java集合设计模式面试题
夜游猿
Java开发工程师面试java设计模式开发语言
Java集合设计模式面试题迭代器模式Q1:Java集合框架中的迭代器模式是如何实现的?迭代器模式提供了一种统一的方式来访问集合中的元素,而不需要暴露集合的内部结构。publicclassIteratorPatternExample{//1.基本迭代器使用publicvoidbasicIteratorUsage(){Listlist=newArrayListiterator=list.iterato
- element-ui中树状图el-tree的使用(vue2)
前端小雪的博客.
javascript前端vue.js
热乎的,话不多说上代码html部分://data:展示的数据//accordion:是否每次只打开一个同级树节点展开//props:配置选项默认值//expand-on-click-node:默认为true,值为false时点击小箭头才会展开收缩节点//filter-node-method:返回true节点可以显示,false节点会被隐藏//node-key:每个树节点的唯一标识//default
- html css上下对其,html – CSS中SVG的垂直对齐
dongyuwu
htmlcss上下对其
jsfiddle1–您可以在容器上使用position:relative,并在对象上使用absolute:absolute,如下所示:position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:0;right:0
- ComfyUI与其他Stable diffusion AI绘图应用要如何共享绘图模型?
chatblog
AIComfyUIstablediffusion人工智能AIGCaiAI作画
无论是下载的第三方安装包还是官方的整合包,你在对应ComfyUI的安装目录里都可以找到extra_model_paths.yaml.example这个文件,路径如下ComfyUI_windows_portable├──ComfyUI│├──extra_model_paths.yaml.example//此文件为配置文件│└──...省略其它文件└──...省略其它文件找到以上文件后修改文件名ext
- 关于uniapp和H5的通信交互传参问题
水水水水水水水水水水水
uni-app交互
在h5index.html中引入1.在uniapp中创建webview通信的vue页面2.h5通信webview中绑定@messageuvue中绑定@onmessage3.h5组件中获取从uniapp传过来的参数(生命周期中获取)constqueryString=window.location.search;//使用URLSearchParams对象解析查询字符串consturlParams=ne
- python学习--mac 下pycharm安装破解
逍遥燕
python学习pycharm
pycharm下载路径:http://www.https://www.jetbrains.com/pycharm/pycharm社区版:https://www.cr173.com/soft/752801.htmlpycharm破解:(1)hosts文件路径:sudovim/etc/hosts(2)将0.0.0.0account.jetbrains.com添加到hosts文件中(3)选择Activa
- 大学生知识库人工智能知识助手泉舟创新中心【产品经理】
一米九五的猪
1、授课:张思鹏sunnyact(泉舟时代创新创业中心)参考:2、主要文章内容:大学生知识库(专升本)1.福建统招专升本考试大纲及参考用书http://fj.offcn.com/html/2018/11/108847.html2.福建省教育考试院2019年普通高校专升本考试报名工作的通知http://jyt.fujian.gov.cn/xxgk/zywj/201812/t20181228_4728
- JSP基础实践项目:创建交互式网站案例
DIY飞跃计划
本文还有配套的精品资源,点击获取简介:JSP(JavaServerPages)是一种动态网页技术,通过将HTML与Java代码结合,简化了JavaWeb应用的开发。本案例面向初学者,包含多个JSP页面,演示了数据展示、用户输入处理等功能。页面由静态和动态内容组成,展示了JSP生命周期的三个阶段、内置对象、动作标签等核心概念。还包括JavaBean的使用和MVC设计模式的基础。案例包含JSP文件、J
- DOM编程
晚安720
前端javascript服务器
DOM编程what主要是对页面中标签的增删改查。文档对象模型(DocumentObjectModel,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中。why学习DOM操作就是操作页面中的标签/节点/元素/标记的对节点的操作what:什么是节点?文档是一个文档节点。(页面中的汉字、空格符、特殊符号)所有的HTML元素都是元素
- html5代码大全文库,HTML5标签大全(最终整理版)
cx不二
html5代码大全文库
HTML5标签大全(最终整理版)一、文字备忘之标签HTML5中新增的标签定义文章定义页面内容旁边的内容定义声音内容定义图形定义一个控制按钮指树或表格状数据格式中的动态数据定义一个下拉列表定义一个元素的细节定义会话或人的交谈定义额外的交互内容或插件定义指定元素的标题定义一组媒体内容,以及他们的标题为章节或页面定义一个底部为章节或页面定义一个头部定义文档中某段落的信息定义表单生成的关键定义被标记的文本
- html5代码_HTML5篇(一)
weixin_39713317
html5代码html5标签属性大全
html5是html最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。其设计目的是为了在移动设备上支持多媒体,当前大部分现代浏览器已经具备了某些HTML5支持。如上图,html5的新增的api,如在翻页时的动画效果、右上角的音频播放等,便利开发的同时也提升了用户体验。html5新特性:用于绘画的canvas元素用于媒介回放的video和audio元素对本地离线存储的更好的支持新的
- python pip 国内加速
无用功无事忙
pythonpip开发语言
python,pip相关学习资料:https://edu.51cto.com/video/1158.htmlhttps://edu.51cto.com/video/2083.htmlhttps://edu.51cto.com/video/3502.htmlPythonpip国内加速指南作为一名刚入行的开发者,你可能会在安装Python库时遇到速度慢的问题。这通常是因为默认的pip源在国外,访问速度
- kafka的ACL配置的sasl.kerberos.principal.to.local.rules配置解释
tkgup
常见问题解决方案kafka分布式
kafka配置acl认证的用户名转换规则1、Kerberos中的介绍2、自定义saslusername3、自定义ssl的用户名4、关于kafka配置kerberos以及开启acl的实践1、Kerberos中的介绍Kerberos关于此配置项的解释https://web.mit.edu/Kerberos/krb5-latest/doc/admin/conf_files/krb5_conf.html中
- Html5学习教程,从入门到精通,HTML 5 链接语法知识点及案例代码(7)
知识分享小能手
前端开发编程语言如门网页开发htmlhtml5学习前端开发语言java后端开发web
HTML5链接语法知识点及案例代码一、HTML链接基础1.1链接标签标签用于定义超链接,用户点击后可以跳转到其他页面或资源。语法:链接文本1.2链接属性href:指定链接的目标地址(URL)。target:指定链接的打开方式,常用值:_self:在当前窗口打开(默认)。_blank:在新窗口打开。_parent:在父框架中打开。_top:在整个窗口中打开。title:鼠标悬停时显示的提示文本。do
- Html5学习教程,从入门到精通,HTML 5 段落语法知识点及案例代码(5)
知识分享小能手
前端开发网页开发编程语言如门htmlhtml5学习java开发语言java后端开发前端
HTML5段落语法知识点及案例代码在HTML5中,段落是通过标签定义的。段落是网页内容的基本组成部分,用于组织和呈现文本内容。一、段落的基本语法1.标签标签用于定义段落。浏览器会自动在段落前后添加空白(margin)以分隔段落。语法:这是一个段落。2.段落中的文本段落中可以包含纯文本、换行、空格、特殊字符等。浏览器会忽略HTML代码中的多余空格和换行,只显示一个空格。3.段落中的换行如果需要在段落
- 如何动态向HTML中插入SVG元素(包括Line,path,marker..等)
junzhen_chen
前端HTMLSVGhtmlsvg
1.使用dodument对象创建一个SVG元素marker,为元素引入svg的命名空间(必需引入命名空间,不然浏览器将此元素当做普通html标签插入文档流)varmarker=document.createElementNS("http://www.w3.org/2000/svg","marker");2.使用标签元素对象的setAttribute函数为元素的属性设值marker.setAttri
- Html5学习教程,从入门到精通,HTML5 元素语法知识点及案例代码(2)
知识分享小能手
前端开发网页开发编程语言如门html5学习前端开发语言htmljavaJava开发
HTML5元素语法知识点及案例代码一、HTML5元素概述HTML5元素是构成网页的基本单位,每个元素都有特定的语义和功能。HTML5元素由开始标签、内容和结束标签组成,例如:这是一个段落。是开始标签这是一个段落。是内容是结束标签二、HTML5元素分类HTML5元素可以根据其功能和语义进行分类,主要分为以下几类:根元素::定义HTML文档的根元素。文档元数据::定义文档的头部信息,例如标题、样式表、
- qml代码使用C++ enum
令狐掌门
QML入门进阶教程c++qmlenum
QML入门进阶专栏:https://blog.csdn.net/yao_hou/category_9951228.html?spm=1001.2014.3001.5482本篇博客介绍如何在qml代码里使用C++enum数据类型。先看如下C++类:dataenum.h#ifndefDATAENUM_H#defineDATAENUM_H#
- flutter_boost接入及分析
Huang兄
Flutterandroidandroiddartflutterfluterboost
2019-09-12文章目录集成过程添加依赖在flutter_nodule侧在原生Android侧尝试flutter_boost流程在flutter中打开flutter或者原生在flutter中关闭页面flutter_boost地址:https://github.com/alibaba/flutter_boost集成之后的项目地址:https://github.com/huangyuanlove/
- React module CSS(React模块样式)
断下句号
reactjscsshtmlreact.js
React模块样式导入简介一开始开发react项目使用的是.css样式,在.js文件中引入并使用className,但是项目合并后发现.css样式会影响项目中其他组件的样式,然而在react中又不可以直接编写局部样式(在HTML和vue中可以编写scoped样式),所以改成以模块导入的形式编写组件样式。模块样式导入要点:选择器驼峰命名样式文件后缀名为.module.css在js文件中导入并使用1️
- 学习Flask:Day 2:模板与表单开发
昨今
学习flaskpython
学习目标:前后端混合开发#添加模板渲染
[email protected]('/profile')defprofile():returnrender_template('profile.html',username="开发者",skills=['Vue','JavaScript'])✅实践任务:创建templates目录使用Jinja2语法制作包含循环和
- 鸿蒙ArkTS页面如何与H5页面交互?
先看效果功能介绍点击ClickMe按钮可以接收展示鸿蒙传递给html的内容点击霓虹灯按钮可以同步更新底部鸿蒙页面的按钮内容“打开”或“关闭”点击底部鸿蒙页面的按钮,可以同步修改html的霓虹灯按钮状态前言在开发App时,我们经常会遇到使用webView加载H5页面的场景,这样做的好处就不多加赘述了,那么鸿蒙App如何加载H5页面呢?又怎么与H5页面进行通信呢?,废话少说,直接上代码。通信功能介绍A
- Flutter 运行新项目时报错 Build failed due to use of deprecated Android v1 embedding.(已解决)
--程
flutterBugandroidflutter
问题描述:构建flutter项目时错误了这个错误:BuildfailedduetouseofdeprecatedAndroidv1embedding。问题原因:使用了flutterv2的sdk编译项目,而你的项目是旧的v1时候开发的。解决方法:第一步先/android/app/src/main下的找到AndroidManifest.xml文件第二步修改application标签删除name字段值并
- android cmake 安装教程,配置 CMake | Android 开发者 | Android Developers
麦子与海
androidcmake安装教程
CMake构建脚本是一个纯文本文件,您必须将其命名为CMakeLists.txt,并在其中包含CMake构建您的C/C++库时需要使用的命令。如果您的原生源代码文件还没有CMake构建脚本,您需要自行创建一个,并在其中包含适当的CMake命令。如需了解如何安装CMake,请参阅安装及配置NDK和CMake。本部分将介绍您应该在构建脚本中包含哪些基本命令,以便指示CMake在创建原生库时使用哪些源代
- 解决Android SDK / Android Studio(IntelliJ IDEA)更新不了(被墙)的问题
coder_jo
脚本linuxandroidsdk
昨天更新androidsdk时,发现developer.android.com被墙了,手上也没有代理,再者androidsdkmanager更新有个不太好的地方是,只有一台机更新还好,但如果有多台机要更新,每台机都要重新下载一遍,那效率.....1)先说AndroidSDK单独更新的问题观察了一下日志发现Fetchinghttp://dl-ssl.google.com/android/reposi
- 问题记录,在使用android studio 构建项目时遇到的问题
AnalogElectronic
问题记录androidstudioandroidide
Failedtogetresource:GET.[HTTPHTTP/1.1400BadRequest:https://maven.aliyun.com/repository/central/com/android/application/com.android.application.gradle.plugin/8.2.0/com.android.application.gradle.plugin
- HTML静态网页成品作业(HTML+CSS)——西点蛋糕介绍(5个页面)
爱码网页成品
HTML网页成品静态网页成品学生网页htmlcss前端
不定期分享源码,关注不丢失哦文章目录一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码五、源码获取一、作品介绍️本套采用HTML+CSS,未使用Javacsript代码,共有5个页面。二、作品演示三、代码目录四、网站代码HTML部分代码首页西点简介西点分类西点展示西点做法SWEETYSWEET提拉米苏布丁芝士蛋糕泡芙马卡龙西式的甜品花团锦簇,尤以意、法为盛。提拉米苏(Tiramisu
- windows下多个python版本共存
chenkaifang
奇技淫巧
不想使用virtualenv来管理多个python版本的,可以通过修改python.exe的名字,然后加入环境变量,运行时通过名字区分即可。参考链接:https://www.cnblogs.com/pxuan/p/6408823.html
- 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的配置