- string trim的实现
JamesSawyer
if(typeofString.prototype.trim!=='function'){String.prototype.trim=function(){//这个正则的意思是//'^''$'表示结束和开始//'^\s*'表示任意以空格开头的空格//'\s*$'表示任意以空格结尾的空格//'\S*'表示任意非空字符//'$1'表示'(\S*(\s*\S*)*)'returnthis.replace
- uniapp 获取各种小程序code
灵魂清零
uniapp小程序
各种小程序在进入小程序是都需要去获取code才能拿到基础信息,自己记录一下用uniapp开发小程序是获取微信小程序、百度小程序、头条小程序、支付宝小程序的codeVue.prototype.$global={appLogin(){returnnewPromise((resole,reject)=>{varthat=this;varwxLoginUrl=app.globalData.url+"/lo
- 模拟new的实现
小泡_08f5
new运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一模拟new之前,看看new实现了哪些功能//Otaku御宅族,简称宅functionOtaku(name,age){this.name=name;this.age=age;this.habit='Games';}Otaku.prototype.strength=60;Otaku.prototype.sayYourName=
- 【原型模式】
すあ
原型模式
原型模式PrototypePattern属于创建型模式是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,调用者不需要知道任何创建细节,不调用构造函数关键点:不通过new关键字,而是通过方法去创建对象原型模式的使用场景类初始化消耗资源较多new产生的一个对象需要非常繁琐的过程(数据准备、访问权限等)构造函数比较复杂循环体中生产大量对象通过硬编码复制对象编写比较麻烦@Datapubli
- 软考 - 系统架构设计师 - 设计模式
小林想被监督学习
系统架构设计师系统架构设计模式
目录概念创建型设计模式抽象工厂模式(AbstractFactoryPattern)优点缺点应用场景总结构建器模式(BuilderPattern)优点缺点应用场景工厂方法模式(factorymethod)优点缺点应用场景原型模式(prototype)优点缺点应用场景单例模式(Singleton)优点缺点应用场景结构型设计模式适配器模式(Adapter)优点缺点应用场景桥接模式(Bridge)优点缺点
- 2018-07-06
一名谦虚的学生
js高级今日所学摘要:①js的预编译:js很特别,在js代码执行前会进行预编译,预编译的结果就是——变量提升。如下图所示:②js中的arguments,俗称伪数组,不是真正的数组,但可以像数组一样使用,里面存入的是传入函数的形参。③for...in用法:可以用来遍历数组和对象,遍历对象居多。对象拷贝时注意用hasOwnProperty方法④prototype原型:分为两类:(1)类里面有proto
- 设计模式 | 原型模式
菜鸟的人工智能之路
设计模式
定义原型设计模式(PrototypePattern)是一种创建型设计模式,它通过复制已有对象来创建新对象,而不是通过构造函数。这种模式适用于需要大量相似对象的情况,避免了重复的初始化工作。原型模式的核心思想是通过一个原型实例来生成新的对象。通常,一个类会实现一个接口,该接口定义了一个克隆方法,用于复制其自身。应用场景1.对象创建成本较高:当创建对象的代价很大时,可以通过复制现有对象来减少开销。2.
- 深入解析:23种软件设计模式详解及其分类(创建型、结构型、行为型)附代码示例DEMO
J^T
设计模式C/C++设计模式装饰器模式组合模式观察者模式单例模式23种设计模式
目录引言一、创建型模式1.简单工厂模式(SimpleFactoryPattern)2.抽象工厂模式(AbstractFactoryPattern)3.单例模式(SingletonPattern)4.建造者模式(BuilderPattern)5.原型模式(PrototypePattern)二、结构型模式1.适配器模式(AdapterPattern)2.桥接模式(BridgePattern)3.装饰器
- 3.创建型设计模式详解:生成器模式与原型模式的深度解析
胡耀超
设计模式原型模式设计模式生成器模式创建型设计模式java后端
设计模式(DesignPatterns)是软件开发中常用的解决方案,帮助开发者处理常见的设计问题。创建型设计模式专注于对象的实例化,旨在提高系统的灵活性和可维护性。在这篇文章中,我们将深入探讨创建型设计模式中的生成器模式(BuilderPattern)和原型模式(PrototypePattern),详细分析它们的应用场景、优缺点,并通过类图和综合案例加以对比。1.创建型设计模式概述创建型设计模式包
- vue axios发送post请求跨域解决
大霞上仙
vueDjangovue.js前端javascript
跨越解决有两种方案,后端解决,前端解决。后端解决参考Django跨域解决-CSDN博客该方法之前试着可以的,但是复制到其他电脑上报错,所以改用前端解决1、main.js做增加如下配置importaxiosfrom'axios'Vue.prototype.$axios=axiosaxios.defaults.baseURL='/api/'//关键代码axios.defaults.timeout=50
- 在JS中flat() 和 flatMap()使用讲解
Code_Geo
javascript前端开发语言
flat()和flatMap()是JavaScript中处理数组的两个方法,用于处理嵌套数组,但它们有不同的用途和效果。以下是它们的详细区别:1.Array.prototype.flat()功能:将嵌套的数组“拉平”成一维数组。语法:array.flat([depth])depth:可选参数,表示要拉平的深度。默认值是1。示例:constarr=[1,[2,[3,[4]]]];console.lo
- c语言结构体函数传递方式,c-将struct传递给函数
周不润
c语言结构体函数传递方式
这是通过引用传递struct的方法。这意味着您的函数可以访问函数外部的struct并修改其值。您可以通过将指向结构的指针传递给函数来完成此操作。#include/*cardstructuredefinition*/structcard{intface;//definepointerface};//endstructurecardtypedefstructcardCard;/*prototype*/
- 设计模式-原型模式
明戈戈
设计模式原型模式设计模式
一、原型模式的核心思想原型模式(PrototypePatterm)是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的“原型”,这个原型是可定制的。用面向对象的方法来说就是,我们先建立一个原型,然后通过对原型进行复制和修饰的方法,就可以产生一个与原型相似的新对象。即:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。在
- python 设计模式 原型模式_python 设计模式之原型模式 Prototype Pattern
weixin_39580041
python设计模式原型模式
#引入例子1:孙悟空拔下一嘬猴毛,轻轻一吹就会变出好多的孙悟空来。例子2:寄个快递下面是一个邮寄快递的场景:“给我寄个快递。”顾客说。“寄往什么地方?寄给……?”你问。“和上次差不多一样,只是邮寄给另外一个地址,这里是邮寄地址……”顾客一边说一边把写有邮寄地址的纸条给你。“好!”你愉快地答应,因为你保存了用户的以前邮寄信息,只要复制这些数据,然后通过简单的修改就可以快速地创建新的快递数据了。#原型
- 设计模式之原型模式(c++)
weixin_34356310
设计模式c/c++面试
问题描述看到这个模式,很容易想到小时候看的《西游记》,齐天大圣孙悟空发飙的时候可以通过自己头上的3根毛立马复制出来成千上万的孙悟空,对付小妖怪很管用(数量最重要)。Prototype模式也正是提供了自我复制的功能,就是说新对象的创建可以通过已有对象进行创建。在C++中,拷贝构造函数(CopyConstructor)曾经是很对程序员的噩梦,浅层拷贝和深层拷贝的魔魇也是很多程序员在面试时候的快餐和系统
- C++设计模式---原型模式
xinruoqianqiu
设计模式c++设计模式原型模式
1、介绍原型模式(PrototypePattern)是一种创建型设计模式,它利用已有对象作为原型,通过复制原型对象来创建新的对象。在这个过程中,不需要重新初始化新对象,而是直接复制原型对象的数据和结构,因此可以显著提高性能。原型模式特别适用于需要创建大量相似对象的情况,或者对象的创建过程非常耗时和资源密集。需要满足以下条件:(1)定义一个基类,其中包含一个clone纯虚函数,用于复制当前对象并返回
- 原型模式
牛掰是怎么形成的
设计模式原型模式
原型模式(PrototypePattern)是一种创建型设计模式,它允许你通过复制现有对象来创建新对象,而不是通过实例化类来创建对象。这个模式的核心思想是“克隆”,即通过复制一个现有的对象来创建一个新的对象。为了生动形象地描述原型模式,我们可以用一个日常生活中的例子来帮助理解。例子:制作饼干模具场景描述假设你是一名饼干师傅,你需要制作大量形状各异的饼干。为了提高效率,你决定使用饼干模具来制作饼干。
- c++ 原型模式
吃个糖糖
C++设计模式c++原型模式开发语言
文章目录什么是原型模式为什么要使用原型模式使用场景示例什么是原型模式用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象,简单理解就是“克隆指定对象”为什么要使用原型模式原型模式(PrototypePattern)是一种创建型设计模式,它允许通过复制现有对象来创建新对象,而不是通过标准的构造函数来创建。在C++中使用原型模式有以下几个主要原因:避免重复的初始化代码:如果一个对象的初始化过程
- JavaScript 小测验 toString
呼叫6945
JavaScript能力测验javascript前端toString面试题
toString方法以下console.log会输出什么?constobj={}constfun=()=>{}console.log(obj.toString===Object.toString)console.log(fun.toString===Function.toString)console.log(obj.toString===Object.prototype.toString)cons
- es6遍历树结构并判断_ES5和ES6数组遍历方法详解
Leisurehh
es6遍历树结构并判断
ES5和ES6数组遍历方法详解在ES5中常用的10种数组遍历方法:1、原始的for循环语句2、Array.prototype.forEach数组对象内置方法3、Array.prototype.map数组对象内置方法4、Array.prototype.filter数组对象内置方法5、Array.prototype.reduce数组对象内置方法6、Array.prototype.some数组对象内置方
- 57、vue 使用moment
world_7735
**1.下载cnpmimoment--save**2.main.js挂载importmomentfrom'moment'//导入文件Vue.prototype.$moment=moment;//赋值使用3.组件中使用凡是用的prototype使用都要this.继承this.$moment('string').format("YYYY-DD-MM")this.$moment('2018-09-19T
- 关于ES6类的继承自己的一些见解和总结
宋小高
前端学习es6原型模式javascript
一丶前三种继承方式1.原型链继承(代码如下)//缺点:原型上的数据共享,所以原型创建的实例数据会互相影响constParent_1=function(){}Parent_1.prototype.getName=function(){return'宋';}constChild_1=function(){}Child_1.prototype=newParent_1()//child的原型是ChildC
- ES6基础----Class的使用
Pluto & Ethereal
开发语言es6前端
目录1、ES5中定义类---function2、es5中定义类的方法,需要在原型(prototype)上定义3、ES6出现Class用于定义类,Class定义的类和function定义的类功能都大致相同,出现Class的原因是想让定义的类更符合面向对象的编程逻辑思维,让开发者更好接受4、继承extends子类继承父类的属性及方法5、静态的属性static有的属性及方法不想被实例所引用,只能被类直接
- 23种设计模式(GOF)
gb4215287
javajava
设计模式(GOF)分为三种类型,共23类。1、单例模式(Singleton)2、原型模式(Prototype)简单工厂模式(SimpleFactoryMode)3、工厂方法模式(FactoryMethod)4、抽象工厂模式(AbstractFactory)5、建造者模式(Builder)6、代理模式(Proxy)7、适配器模式(Adapter)8、桥接模式(Bridge)9、装饰器模式(Decor
- 创建型设计模式-原型模式(prototype)- python实现
懂一点的陈老师
设计模式原型模式设计模式python
设计模式汇总:查看通俗示例想象一下,你正在制作一个复杂的文档,这个文档包含了大量的文本、图片和格式设置。现在,你希望创建一个与当前文档内容完全相同的新文档,但又不希望花费时间重新编辑和排版。在这个时候,如果有一个“复制”按钮,你可以一键复制整个文档,并在新的副本上进行修改,这该多方便啊!这个“复制”按钮就是原型模式的现实例子。通俗解释原型模式是一种创建型设计模式,它允许我们通过复制现有的对象来创建
- es5 vs es6 继承
乌龙茶不甜
JavaScriptes6javascript前端
ES5继承借助构造函数继承(call,apply);无法继承父级原型上属性和方法functionAnimal(name,txt){console.log('构造函数:Animal',this,name,txt)this.type='父类'this.name='Animal_'+name;this.txt=txt}Animal.prototype.getName=function(){console
- js学习之路(六)——this,箭头函数,对象操作
EOPG
vue3javascript学习排序算法
js学习之路(六)1.this指向2.改变this指向3.ES6定义变量4.04_变量的块级作用域5.ES6的箭头函数6.箭头函数的特性7.函数的参数默认值8.模板字符串9.点点点(...)运算符10.解构赋值11.对象的简写12.了解面向对象开发13.创建对象的四种方式14.构造函数的书写和使用15.构造函数是否合理17.prototype18.__proto__1.this指向/*this指向
- Object.prototype.hasOwnProperty.call()2020-12-24
猴逃逃
JavaScript中Object对象原型上的hasOwnProperty()用来判断一个属性是定义在对象本身而不是继承自原型链。obj.hasOwnProperty(prop)参数prop要检测的属性字符串名称或者Symbol(ES6)o=newObject();o.prop='exists';o.hasOwnProperty('prop');//返回trueo.hasOwnProperty('
- React学习打卡Day05
信徒不伤
react
1.属性props使用let{‘属性名’}=this.props接收属性可接收多个2.属性验证Navbar.protoTypes={验证代码}可以写在对象内部,需要加static关键字importReact,{PureComponent}from'react'importproptypesfrom'prop-types'exportdefaultclassNavbarextendsPureComp
- 设计模式-原型模式 Prototype Pattern
WeSiGJ
设计模式C++设计模式原型模式c++
系列文章目录文章目录系列文章目录设计模式-原型模式PrototypePatternOverview1.原型模式PrototypePattern1.1.原型模式的主要角色包括1.2.C++实现示例1.3.原型模式的应用场景1.4.注意事项2.原型模式优缺点2.1.优点2.2.缺点3.原型模式在实际开发中有哪些常见的应用场景?4.在实际开发中,如何决定何时使用原型模式而不是其他模式,比如单例模式?关于
- 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的配置