- Vue和React的区别
挨踢女孩y
vue.jsreact.jsjavascript前端csswebpackecmascript
组件开发方式:Vue使用单文件组件(SFC),HTML,JS和CSS在一个文件内实现exportdefault{//JavaScript代码}.my-component{/*CSS样式*/}React使用JSX和JavaScriptimportReactfrom'react';import'./MyComponent.css';functionMyComponent(){return({/*JSX
- React VS Vue
懒人村杂货铺
前端
React和Vue是目前最流行的两个前端框架,它们在设计理念、生态系统和开发体验上各有特点。以下是对React和Vue的全方位对比:1.核心设计理念React库而非框架:React是一个用于构建UI的库,专注于视图层,其他功能(如路由、状态管理)需要借助第三方库。函数式编程:推崇组件化、函数式编程,强调不可变性和单向数据流。JSX:使用JSX语法,将HTML和JavaScript结合在一起。Vue
- 详谈React中 forwardRef、useImperativeHandle的使用场景
凉菜凉凉
React#+技术分享react.jsjavascript前端
forwardRef(render)允许组件使用ref将DOM节点暴露给父组件constSomeComponent=forwardRef(render)参数render:组件的渲染函数。React会调用该函数并传入父组件传递的props和ref。返回的JSX将作为组件的输出。返回值forwardRef返回一个可以在JSX中渲染的React组件。与作为纯函数定义的React组件不同,forwardR
- JSX语法规则
开发小途
react.js前端JSX
JSX(JavaScriptXML)是一种JavaScript的语法扩展,常用于React等库中描述用户界面。以下是JSX的主要语法规则:1.标签闭合JSX标签必须闭合,无论是自闭合标签还是包含子元素的标签。例如,需要对应的来闭合,而像或这样的自闭合标签则以斜杠/结尾。2.根标签JSX中只能有一个根元素。如果需要渲染多个元素,可以将它们包裹在一个父元素中,如。3.表达式插值在JSX中,可以将Jav
- React 第二十五节 <Fragment></Fragment> 的用途以及使用注意事项详解
刺客-Andy
Reactreact.js前端前端框架
文章如果错误偏差,烦请及时批评指正一、为什么要使用?因为在React中,组件必须返回单个根元素。当我们尝试直接返回相邻的JSX元素时:functionBrokenComponent(){return(标题正文内容);}//报错:AdjacentJSXelementsmustbewrappedinanenclosingtag传统解决方案是使用包裹,但这会带来三大问题:1、破坏布局结构:多余的DOM节
- React框架基础教程
没有黑科技
CSDN活动相关文章react.js前端前端框架
React框架基础教程目录简介React概述优势与应用场景环境准备Node.js安装创建React应用程序React基础JSX语法组件状态与属性事件处理组件生命周期挂载、更新、卸载错误边界状态管理useState钩子useEffect钩子ContextAPI路由管理ReactRouter介绍路由配置表单与受控组件表单基础知识受控组件与非受控组件样式与布局内联样式CSS模块布局技巧动画与过渡Reac
- 初次体验Tauri和Sycamore (2)
Liigo
WebRust源代码SycamoreTauriDioxusRustWebAssemblyJSXReact
原创作者:庄晓立(LIIGO)原创时间:2025年2月8日(首次发布时间)原创链接:https://blog.csdn.net/liigo/article/details/145520637版权所有,转载请注明出处。关键词:Sycamore,Tauri,Dioxus,Leptos,Rust,WebAssembly,Reactive,JSX,React,Web前言Tauri2.0发布于2024年10
- react入门笔记
2201_75694264
react.js笔记javascript
1.JSX的用法functionApp(){letmsg='react的插值';return({msg})}jsx中也可以绑定属性,绑定属性时不能加引号functionApp(){leturl='https://baikebcs.bdimg.com/baike-react/common/logo-baike.svg';return()}jsx中也支持一些简单的js运算,也支持条件运算符(react
- 【前端框架与库】「React 全面解析」:从 JSX 语法到高阶组件,深度剖析前端开发中的核心概念与最佳实践
呀啊~~
【前端框架与库】前端框架javascriptreact.js前端学习
React全面解析前言1.React的JSX语法JSX的特点:JSX编译2.组件通信父子组件通信(通过Props)兄弟组件通信3.React生命周期4.组件化开发组件化的好处:5.服务端渲染(SSR)为什么使用SSR?SSR的基本流程:客户端水合:6.ReactHooks自定义Hook:7.数据更新机制8.组件设计模式高阶组件(HOC)9.组件性能优化10.高阶组件(HOC)高阶组件的用途:HOC
- next.js + react基础(持续更新)
wanfeng_09
react.js学习前端
umijshttps://umijs.org/docs/introduce/introducereact:环境搭建、jsx、组件、useState、useEffect、useRef、自定义Hook、智能组件和UI组件redux:RTK、同步状态、异步状态、状态和视图分离Router:基础使用、嵌套路由、路由模式、声明/编程式导航基础扩展:useMemo/useCallback、useReducer
- 【前端】【面试】【知识点总结】react知识点大纲
患得患失949
面试考题专栏(前后端)前端面试react.js前端框架
基础部分1.React简介React的定义与核心概念(声明式、组件化、单向数据流)React的应用场景与优势React的发展历程与生态系统2.环境搭建使用CreateReactApp快速搭建项目手动配置Webpack、Babel等构建工具开发环境和生产环境的配置差异3.JSXJSX的基本语法和规则JSX与HTML的区别在JSX中嵌入表达式4.组件函数组件和类组件的定义与使用组件的嵌套与组合组件的p
- React - jsx 语法
来一碗刘肉面
Reactreact.js前端javascript
在React中,JSX(JavaScriptXML)是一种语法扩展,它允许开发者在JavaScript代码中使用类似HTML的语法。JSX提升了代码的可读性和可维护性,使得编写和构建用户界面更加直观。它被广泛应用于React组件的定义。一、JSX的基本语法(一)基本元素JSX语法允许在JavaScript代码中直接使用HTML标签,例如:constelement=Hello,world!;这里的e
- React学习笔记
26:28
Reactreact.js学习笔记
1、React初步认识React构建Web和原生交互界面的库,相较于其它前端框架的优势,具有丰富的生态跨平台支持。1.1、React的开发依赖开发React必须依赖三个库:react:包含react所必须的核心代码;react-dom:react渲染在不同平台所需要的核心代码;babel:将jsx转换成React代码的工具;1.2、VSCode代码片段我们在前面练习React的过程中,有些代码片段
- 构建动态React作品集:Portfolio-In-React实战指南
yang lebron
本文还有配套的精品资源,点击获取简介:“Portfolio-In-React”是一个利用React技术构建的个人作品集项目,旨在通过JavaScript库创建一个动态和交互式的在线展示平台。项目使用了React组件化、JSX语法、状态管理、生命周期方法、ReactRouter、CSS-in-JS、响应式设计、状态管理库如Redux、测试与调试、代码优化以及CI/CD实践,涵盖了前端开发的多个关键方
- 入门 Taro
My-Way.
taro前端javascript
TaroP01:Taro框架简介和介绍Taro是京东凹凸实验室推出的框架,目的就是解决多端混乱的局面。当我们按照一种模式一种代码进行开发,开发完成后,项目就有了在任何终端显示的能力,这让人想想都很爽。1.Taro的优点多端运行:编译多端,通过自身的编译工具,编译成不同环境下的代码,实现多端运行。React:React语法规范,可以让我们使用JSX和React相关的语法(包括Hooks)来开发小程序
- react中关于组件的一些概念(有无状态组件、组件封装与继承 、高阶组件)
不能懒鸭
react基础面试react.jsjavascript前端
怎么理解“在react中,一切皆为组件”句话react采用组件化的思想,最小的组件单位就是原生HTML元素,采用JSX语法组件声明调用react的虚拟dom,就是一个大的组件树,从父组件层到子组件,在react-routerv4版开始,路由本身也是组件各个库提供的hoc返回也是组件,如withRouter、connectreact中的基础数据stateprops的传递也是以组件为基础1.什么是组件
- React 的 12 个核心概念
chenNorth。
前端react.js前端前端框架
文章目录一、JSX:逻辑与视图的桥梁二、组件:模块化构建的核心三、Props:单向数据流的基石四、State:动态交互的核心五、useEffect:副作用管理的利器六、Context:跨层级数据共享的利器七、React.memo:优化渲染的利器八、useReducer:复杂状态管理的利器九、Ref和forwardRef:DOM操作与组件间通信十、虚拟DOM:高效渲染的核心十一、React和性能优化
- Webstorm 配置Eslint ESLint: TypeError: this.libOptions.parse is not a function
Dragon Wu
前端webstorm前端javascript
Webstorm配置eslint时,报错:ESLint:TypeError:this.libOptions.parseisnotafunction解决方案:把{**/*,*}.{js,ts,jsx,tsx,html,vue}换成{**/*,*}.(js,ts,jsx,tsx,html,vue)问题解决,亲测有效!
- 第一章:Reac入门 与 第二章:React面向组件编程
代码界小菜鸟
reactreact
目录一、jsx语法规则二、React中定义组件1.函数式组件:2.类式组件:*有关类复习的知识点前往React知识铺垫查看https://blog.csdn.net/m0_61927991/article/details/126591057?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22r
- vue3 react区别
阿芯爱编程
js技巧面试react.js前端前端框架
Vue3和React是两个流行的前端JavaScript框架,它们在设计理念、API、生态系统等方面有所不同。以下是Vue3和React之间的一些主要区别:1.设计理念Vue3:以易用性和灵活性为核心,提供了直观的模板语法和渐进式的框架设计。React:由Facebook开发,强调组件化和函数式编程,提供了一个用于构建用户界面的JavaScript库。2.模板vsJSXVue3:使用基于HTML的
- React框架
常蓬cium
笔记
文章目录react开始概念安装JSXreact都是有组件构成有状态组件有状态有生命周期class无状态组件函数组件只负责展示安装react项目(脚手架)React出版方:Facebook(脸书)终端的分类:1.原生App:就是用原生语言开发的(如安卓,ios),性能最高,其它不如混合App2.混合App:采用的原因是审核,维护就是原生(调用硬件)+H5(欠缺调用硬件的能力)3.webApp移动端性
- React框架详解:从入门到精通(详细版)
布兰妮甜
#Reactreact.js前端前端框架
文章目录前言一、官方网站二、安装React使用CreateReactApp手动安装三、React核心概念1.组件化2.JSX3.虚拟DOM4.Props和State四、生命周期方法五、新特性介绍1.Hooks2.ContextAPI六、状态管理1.Redux2.Mobx3.ReactContextAPI七、最佳实践1.组件划分2.代码复用3.性能优化4.错误边界结语前言React是由Faceboo
- 【工具】vscode 常用代码片段整理
沈梦研
vue.jsjavascriptreactjs
目录1、js2、react3、vue使用方法:js部分在.js文件中生效;react部分在.jsx文件中生效;vue部分在.vue文件中生效;prefix代码简写字符,body代表生成代码的全部,$1,$2代表代码生成后,光标自动所在的位置,按顺序,按tab键可以依次进行设置;以console.log为例,例如:输入ccg,按tab键,自动生成console.log(xx,'=====xx')1、
- React Native
Sabrina_FN
APP测试reactnativereact.jsjavascript
一、react框架简介:是一个用于构建用户界面的JavaScript库,主要用于构建UI,只专注于实现MVC中View层面的实现特点:声明式设计:使用声明式的编成方式,使得react逻辑足够简化高效:采用VirtualDom(虚拟dom),减少与dom间交互的花费灵活:可以与已知库或者框架很好的配合JSX:执行速度快,类型安全、在编译过程中就能发现错误,像XML的JavaScript语法扩展,编写
- 前端工程化之vite
看到请催我学习
前端前端javascripthtml5ecmascriptcss
vite常用的插件有哪些?@vitejs/plugin-vue:用于支持Vue.js单文件组件(.vue文件)@vitejs/plugin-react:用于支持React和JSX语法rollup-plugin-visualizer:用于打包分析vite-plugin-restart:文件修改时自动重启vitevite-plugin-components:组件按需自动导入vite-plugin-sv
- React项目的开发前准备 以及 JSX 的基本使用
渡鸦七
Reactreact.js前端前端框架
React项目的开发前准备以及JSX的基本使用React项目创建create-react-appnpxcreate-react-appmy-appcdmy-appnpmstartyarncreatereact-appyarncreatereact-appmy-appcdmy-appyarnstartcreate-react-app和yarncreatereact-app都可以快速创建一个React
- react的组件通信
薄荷加冰
父子组件通讯通讯手段这是最常见的通信方式,父组件只需要将子组件需要的props传给子组件,子组件直接通过this.props来使用。通讯内容更多要提的是如何合理的设置子组件的props,要想将子组件设计成一个复用性强的通用组件,需要将能够复用的部分抽象出来,抽象出来的props有两种形成,一种是简单的变量,另一种是抽象出来处理某种逻辑函数。以Header组件为例//HeaderBar.jsx子组件
- git commit 自动修复 eslint 和 prettier
等下吃什么?
前端前端
npminstalllint-stagedeslintprettier--save-dev修改package.json"lint-staged":{"**/*.{js,jsx,ts,tsx,vue}":["prettier--write","eslint--fix"],"**/*.json":["prettier--write"],"**/*.{less,md}":["prettier--writ
- react 实用学习笔记总结,持续更新~
George灬
reactreact
React是用于构建用户界面的JavaScript库可以认为是MVC中的V(MVC:模型model-视图view-控制器controller)虚拟DOM(VirtualDOM)DOM(文档对象模型DocumentObjectModel)React通过Diff算法找出虚拟DOM和真实DOM之间的差异,仅渲染修改的这一部分变化,减少了DOM的重绘,提高了效率JSX语法是一种应用于React中的Java
- Nuxt3入门:路由系统(第4节)
沐爸muba
Vuevue.js前端
你好同学,我是沐爸,欢迎点赞、收藏、评论和关注。Nuxt的一个核心功能是文件系统路由器,路由是根据文件自动注册的,Nuxt为在pages/目录下的每个Vue文件创建相应的路由(或URL)。一、用法页面是Vue组件,可以具有Nuxt支持的任何有效扩展,默认情况下是.vue,也可以是.js.jsx.mjs.ts.tsxNuxt将自动为pages目录的下每个页面创建一个路由。pages/index.vu
- 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的配置