- Mybatis学习笔记--延迟加载与缓存
龙源lll
Mybatis数据库mybatismysqljava
Mybatis学习笔记:Mybatis的概念与入门案例自定义MybatisMybatis实现CRUD动态SQL语句多表查询延迟加载与缓存注解开发Mybatis中的延迟加载什么是延迟加载在一对多的表的操作中,存在着多个用户与账户,那么在查询用户时,需不需要我们将其所有关联的账户同时查询出来?当我们查询账户时,需不需要我们把其关联的用户查询出来?这时我们会发现,当查询一个用户时,其账户信息应该是,什么
- Mybatis学习笔记
保护壳
后端javamybatis
MyBatis一、简介1.1什么是MybatisMyBatis是一款优秀的持久层框架MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通老式Java对象)为数据库中的记录如何获得Mybatis?maven仓库org.mybatismybatis3.
- mybatis学习笔记重点梳理
蓝天⊙白云
数据库数据库sql
Mybatis温习笔记如果使用注解和XML文件两种方式同时定义,那么XML方式将覆盖掉注解方式。${}与#{}的区别(1)#{}是参数占位符,即预编译。解析时将传入的数据都当成一个字符串,会对传入的变量自动加一个单引号。如:user_id=#{userId},如果传入的值是111,那么解析成sql时的值为user_id=‘111’,如果传入的值是id,则解析成的sql为user_id=‘id’。(
- Mybatis简单梳理
木子六日
javamybatisjava数据库ssm后端
Mybatis学习笔记author:木子六日文章目录Mybatis学习笔记author:木子六日DAY1基本配置映射文件的配置DAY2数据库连接池的配置文件log4j的配置文件给pojo类设置别名简单的查询与插入使用DAY3Mapper的接口绑定多参数动态sql补充DAY1mybatis是一个持久层框架,是为了简化dao层开发的一个框架。基本配置注意原来的com.dao和com.dao.impl这
- MyBatis学习笔记(二)
疯狂的社畜
MyBatis学习笔记(二)mybatis的curd(基于代理dao的方式)1、实体类publicclassUserimplementsSerializable{privateIntegercid;privateIntegerage;privateStringusername;privateStringaddress;privateStringsex;privateDatebirthday;pub
- Mybatis学习笔记
ZeroZuo
一、中文学习文档链接地址 https://mybatis.org/mybatis-3/zh/getting-started.html二、准备要使用myBatis,要导入两个依赖,一个是myBatis包,一个是myBatis驱动包。mysqlmysql-connector-java8.0.20org.mybatismybatis3.2.6或者org.mybatis.spring.bootmybat
- Mybatis学习笔记
不爱吃橘子7
mybatismybatis
Mybatis1.快速入门(xml文件配置形式)1.创建实体类2.引入jar包3.编写全局配置文件4.编写mapper.xml映射文件(放在类路径下)5.数据库和log4j配置文件6.测试7.结果2.通过接口来实现1.添加接口Mapper2.修改UserMapper.xml配置文件3.将UserMapper.xml加到全局配置文件中,接口不需要加4.测试3.Mybatis全局配置1.引入dtd约束
- MyBatis学习笔记-注解SQL多个参数查询异常处理
人生偌只如初见
J2EEBatisMyBatisSQL多参数注解
MyBatis注解SQL查询,单个参数无需处理可以正常返回结果@Select("SELECT*FROMUSERWHEREACCOUNT=#{account}")UserreadUserByAccount(Stringaccount)throwsDataAccessException;多个参数查询不做处理会报异常@Select("SELECT*FROMUSERWHEREACCOUNT=#{accou
- mybatis学习笔记1----入门介绍
mutang
第1章框架概述什么是框架框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。框架要解决的问题框架要解决的最重要的一个问题是技术整合的问题,在J2EE的框架中,有着各种各样的技术,不同的软件企业需要从J2EE中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会
- 狂神说MyBatis学习笔记(自整理自用)
发际线码农
intellij-ideajavamybatis
MyBatisMyBatis官网地址:https://mybatis.org/mybatis-3/MyBatis官网中文版:https://mybatis.org/mybatis-3/zh/index.html1、使用MyBatis之前的配置第一步:在Maven项目中配置MyBatis依赖(pom.xml文件)org.mybatismybatisx.x.x第二步:配置mybatis-config.
- 【MyBatis学习笔记】MyBatis基础学习
Augenstern K
MyBatismybatis学习笔记
MyBatis基础MyBatis简介MyBatis特性MyBatis下载和其他持久化层技术对比核心配置文件详解默认的类型别名搭建MyBatis开发环境创建maven工程创建MyBatis的核心配置文件创建mapper接口创建MyBatis的映射文件通过junit测试功能加入log4j日志功能MyBatis获取参数值的两种方式(重点)单个字面量类型的参数多个字面量类型的参数map集合类型的参数实体类
- MyBatis学习笔记 | MyBatis的下载、编写一个HelloWorld的MyBatis、使用接口式编程改进HelloWorld
一颗白菜_
MyBatis是一个半自动化,轻量级的持久化层框架,实现了Sql与Java编码分离,功能边界清晰,一个专注业务、一个专注数据。且sql是由开发人员控制的。MyBatis下载MyBatis的官方文档:https://mybatis.org/mybatis-3/。MyBatis的下载在GitHub中:https://github.com/mybatis/mybatis-3点此下载。点此链接进去,然后就
- MyBatis学习笔记
qq_1532145264
数据库mybatis学习笔记mysqlsql数据库数据库开发
MyBatis中文网:https://mybatis.net.cn/1什么是MyBatis?MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通老式Java对象)为数据
- Mybatis+SSM整合
Joker_DJ dear
mybatis3mybatisspringjava
Mybatis学习笔记简介MyBatis作用历史为什么要使用MyBatis?JDBCHibernateMybatisMyBatis入门程序1.创建jar工程2.导入jar包3.创建数据库4.建立关系映射类pojo5.创建核心配置文件SqlMappingConfig.xml6.创建与表对象的关系映射Mapping文件编写sql语句7.在核心配置文件当中引入Mapping8.创建工厂,执行sql语句M
- MyBatis学习笔记
thekingofjiecao
MyBatis主配置文件1.Properties可以通过resource属性指定properties配置文件,而后,在配置文件中可以通过${}的方式访问properties里的数据2.Settings可以通过setting标签来设置属性。例:下面的配置可以将数据库中的下划线式命名法映射到POJO类的驼峰命名法。--------------------------------------------
- Mybatis学习笔记-映射文件,标签,插件
_我的天哪
mybatisjava
目录概述mybatis做了什么原生JDBC存在什么问题MyBatis组成部分Mybatis工作原理mybatis和hibernate区别使用mybatis(springboot)mybatis核心-sql映射文件基础标签说明1.namespace,命名空间2.select,insert,update,delete为不同类型的sql标签映射标签的属性说明1.id2.parameterType简单类型
- mybatis学习笔记之mybatis小技巧
优降宁
mybatis学习笔记mybatis学习笔记
文章目录#{}和${}关于${}的使用时机sql语句传入关键字拼接表名批量删除模糊查询别名机制mapper配置配置模板文件使用自动生成的主键#{}和${}#{}:先编译sql语句,再给占位符传值,底层是PreparedStatement实现。可以防止sql注入,比较常用${}:先进行sql语句拼接,然后再编译sql语句,底层是Statement实现。存在sql注入现象,只有在需要sql语句关键字拼
- maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解
weixin_33749131
java测试数据库
转自:https://www.cnblogs.com/lmei/p/7190755.html?utm_source=itdadao&utm_medium=referral@_@写在最前之前分享过下面这几篇:mybatis学习笔记(五)--maven+spring+mybatis从零开始搭建整合详细过程(上)(附demo和搭建过程遇到的问题解决方法)mybatis学习笔记(六)--maven+spr
- Mybatis学习笔记--自定义Mybatis,程序员Java笔记
软件开发Java
程序员面试java后端
@OverridepublicStringtoString(){return“User{”+“id=”+id+“,username=’”+username+‘’’+“,birthday=”+birthday+“,sex=’”+sex+‘’’+“,address=’”+address+‘’’+‘}’;}}配置持久层接口IUserDao:publicinterfaceIUserDao{/**查询所有@
- Mybatis笔记(一) Mybatis简介
DBAA110
mybatisjava
Mybatis学习笔记来自B站狂神说JavaMybatis系列视频~视频链接:https://www.bilibili.com/video/BV1NE411Q7Nx纯个人手打,可能会有错误,欢迎指正交流探讨~个人邮箱:
[email protected]、简介1.什么是MybatisMyBatis是一款优秀的持久层框架MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果
- J2EE系列之MyBatis学习笔记(一)-- 简介
Java小飞侠
Java程序开发MyBatis简介MyBatis学习
目前为止J2EE系列已经学习了Struts2、Hibernate4、Spring、SpringMVC。其中Struts2、hibernate,spring三者组成了常用的软件架构S2SH,在S2SH中Struts2负责前后台之间的交互,Hibernate负责数据库操作,Spring负责管理struts2和hibernate4。学习了SpringMVC之后发现SpringMVC具有了Struts2和
- mybatis学习笔记,使用mybatis的几种方式
一个有梦想的Java程序员
mybatis学习笔记
随着springboot的出现,绝大多数开源框架和中间件都可以通过springboot来整合,并且使用起来非常简单,但是,今天要介绍的是mybatis原生的使用方法。并且分享一下在结合官网学习过程中遇到的问题。目录准备工作数据库版本说明创建数据库表快速开始引入maven依赖创建数据库实体类创建持久层接口创建mapper.xml创建mybatis配置文件构建SqlSessionFactory的方式从
- Mybatis学习笔记(二)
Tracker_85
SSMMybatis
一、动态SQL1、什么是动态SQL?动态SQL是MyBatis的强大特性之一。动态SQL基于OGNL表达式,可以在SQL语句中方便的实现某些逻辑,使我们对SQL语句进行动态的组装拼接,解决使用JDBC手动拼接SQL的麻烦。2、动态SQL的元素Mybatis框架动态SQL中的元素,如下表所示:SQL元素说明判断语句,用于但条件分支判断(,相当于Java中的switch…case…default语句,
- Spring整合Mybatis学习笔记
渣男且摆烂
学习mybatisspring
1.引入依赖springmbatismysqlmybatis-springdruid2.建表3.实体类4.DAO接口5.mapper配置文件6.Service接口7.Service实现类8.编写SM整合配置文件spring.xmla.创建数据源对象b.创建sqlSessionFactory对象c.创建DAO对象userDAOUserdao====>userdaoOrderDAO====>order
- spring整合mybatis学习笔记
给丫丫带束花
mybatisspring学习
spring整合mybatis1、方法一(注解配置)1.1配置springconfig类@Configuration//标注为配置类@ComponentScan("com.frt")//开启注解扫描@PropertySource("Jdbc.properties")//导入properties文件@Import({JdbcConfig.class,MybatisConfig.class})//引入
- MyBatis学习笔记1
欢乐的每一天
笔记
1、简介1.1什么是MyBatis?MyBatis是一款优秀的持久层框架它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOrdinaryJavaObject,普通的Java对象)映射成数据库中的记录。MyBatis本是apache的
- Mybatis学习笔记&注解/xml映射/动态SQL%%%Mybatis教程
复兴的柱子
newSSMmybatis学习笔记springboot
介绍Mybatis是一款优秀的持久层框架,用于简化JDBC的开发MyBatis中文网Mybatis入门快速入门步骤创建SpringBoot工程、数据库表user、实体类User引入Mybatis相关依赖,配置Mybatis(数据库连接信息)编写SQL语句(注解/XML)项目创建创建的项目的pom.xml如下:4.0.0org.springframework.bootspring-boot-star
- Mybatis学习笔记——mybatis的整体架构
小蓝的快乐学习之旅
mybatis学习笔记
一、Mybatis的整体架构1.1接口层功能:与数据库进行交互Mybatis提供了两种与数据库交互的方式:使用传统的Mybatis提供的API使用Mapper接口传统的API方式将statementid和查询参数传递给SqlSession对象,使用SqlSession对象完成和数据库的交互Mapper接口方式上面的传统的方式虽然简单和实用,但是它不符合面向语言的概念和面向接口编程的习惯,因此,My
- Mybatis学习笔记_8、Mybatis+Spring整合开发
Goodwin0721
SSM#mybatismybatisspring
1.目的使用Spring容器单例模式管理Mybatis的SqlSessionFactory;使用Spring管理连接池、数据源等;将Dao/Mapper动态代理对象注入到Spring容器中,使用时直接获取。2.Mybatis和Spring整合:导入所需的包;Mybatis+Spring整合包:下载地址Mybatis核心包连接数据库相关的包Spring相关的包创建Mybatis主配置文件:sqlMa
- MyBatis学习笔记--中篇
Radan小哥
MyBatismybatis学习笔记
MyBatis学习文章目录MyBatis学习1、MyBatis配置解析1.1、核心配置文件1.2、事务管理器(transactionManager)1.3、数据源(DataSource)1.4、属性(properties)1.5、类型别名(typeAliases)1.6、设置(setting)1.7、映射器(Mapper)1.8、生命周期和作用域2、解决属性名和字段名不一致的问题(resultMa
- 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的配置