- Swift-指定与便利构造函数
曲中论
指定与便利构造函数:1、概念:指定:指定构造器将初始化类中提供的所有属性,并调用合适的父类构造器让构造过程沿着父类链继续往上进行。每一个类都必须至少拥有一个指定构造器便利:便利构造器是类中比较次要的、辅助型的构造器可以定义便利构造器来调用同一个类中的指定构造器,并为部分形参提供默认值。2、便利得用法:需要在init关键字之前放置convenience关键字,并使用空格将它们俩分开3、必须遵守的规范
- swift-基本运算符2
下页天
运算符分为一元、二元和三元运算符:一元运算符对单一操作对象操作(如-a)。一元运算符分前置运算符和后置运算符,前置运算符需紧跟在操作对象之前(如!b),后置运算符需紧跟在操作对象之后(如c!)。二元运算符操作两个操作对象(如2+3),是中置的,因为它们出现在两个操作对象之间。三元运算符操作三个操作对象,和C语言一样,Swift只有一个三元运算符,就是三目运算符(a?b:c)。受运算符影响的值叫操作
- swift-改变UIAlertController文字的对齐方式
命运建筑师fly
需求:原生UIAlertController文字都只能居中显示,在有些时候,我们需要提示文字左对齐的呀,就需要用代码来修改了实现:定义importUIKit//用于UIAlertController的文字偏移varsubviews:[UIView]?extensionUIAlertController{varTJL_titleLabel:UILabel?{set{}get{ifTJL_viewAr
- Swift-子视图 不触发 添加到父视图的Tap手势
时光燕
为父View添加tap手势lettap=UITapGestureRecognizer.init(target:self,action:#selector(self.dismissView))tap.delegate=self//设置tap手势代理self.view.addGestureRecognizer(tap)//添加tap手势实现tap手势的代理方法extensionIESpeechView
- swift- UISearchController的基本使用
Ismail丶
闲的没事写了写swift,记录一下比较坑的控件!!声明varjcSearchView=UISearchController()添加UISearchControllerfuncjcAddSearchViewController()->Void{letvc=JFSearchResultViewController()jcSearchView=UISearchController.init(search
- LeetCode53 最大子数组和
keavykk
算法数据结构动态规划
题目描述给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。算法思路1:动态规划:第一步:对nums数组进行遍历,如果nums[i]前面的子数组和比0小,则无相加必要,直接舍弃,在nums[i]之前的最大数组就是nums[i]本身。否则相加,得出当前到nums[i]为止的最大子数组和。第二步:每次比较当前最大子序列和与所保存的结果,返回较大的一个。
- Swift-进阶:泛型
辉辉岁月
本文主要介绍泛型及其底层原理泛型泛型主要用于解决代码的抽象能力+代码的复用性例如下面的例子,其中的T就是泛型functest(_a:T,_b:T)->Bool{returna==b}//经典例子swap,使用泛型,可以满足不同类型参数的调用funcswap(_a:inoutT,_b:inoutT){lettmp=aa=bb=tmp}类型约束在一个类型参数后面放置协议或者是类,例如下面的例子,要求类
- Swift Mirror原理解析
深圳_你要的昵称
前言上篇SwiftMirror&Error主要是讲解了Mirror的一个常见的应用场景:JSON解析,但是里面的原理是怎样的?底层源码流程是如何处理反射呢?本篇文章将为大家详细解析Mirror的底层实现流程。一、Mirror架构大致分析首先我们大致来看看Mirror的架构,大概有哪些部分构成Mirror.swift源码路径swift->stdlib->public->core->Mirror.sw
- Swift-闭包
捕梦少女的梦想
闭包是swift中非常重要的一个知识点。类似于objective-c中的block,其实函数就相当于一个特殊的闭包。闭包需要提前写好,在适当的时候再执行。1、定义闭包闭包的格式是(参数列表)->(返回值类型)in实现代码举一个最简单的例子。用常量记录一个代码块,按住option键就能看到,b1是一个闭包。再到适合的地方去调用它。闭包1.pngletb1={print("干掉他们")}b1()再来看
- Swift-面向协议编程
6ffd6634d577
前言OC无法做到面向协议开发,而Swift可以,因为Swift可以做到协议方法的具体实现,而OC不行面向对象开发OOPOOP的优点包括可重用性,继承,可维护性,对复杂性的隐藏(封装),抽象性,多态性,对一个类的属性和方法的访问权限控制。传统的面向对象开发思维方式是将类中实现的相似方法抽取出来,接着放入一个Base类,然后继承于Base类后各个类即可找拥有相同的方法,不用再一个个手动实现。比如:一个
- Swift-反馈样式|UITextView输入视图
麦穗0615
前言:趁着写项目,同时写点小的工具,以后能够惯用的,但是我写字数统计、占位符、别的没有写,肯定还缺什么,如果还有什么可以补的,可以将代码复制到评论区,一起讨论,Thanks!目录:一、展示图例二、代码示例三、使用方法一、展示图例11112.gif二、代码示例importUIKitclassFeedBackView:UIView,UITextViewDelegate{typealiasFeedBac
- 蛮力法求解最大连续子序列和,详细改进,c语言,c++
华同学啊
算法分析与设计#算法-蛮力法c++c语言算法
前言:蛮力法也称暴力法,从头遍历到尾,不跳过任何一种可能,全部筛选一遍挑出最优解。问题描述:给定一个序列,求出其中连续最大的子序列和,如果序列和小于0,则最大子序列和为0举例序列:2,3,-5,11,-4,13,-9其中最大的子序列和是11,-4,13和为20原始解法:三层循环#includeusingnamespacestd;intmain(){//用数组存放序列intarr[]={2,3,-5
- Swift-继承
DevXue
一个类可以继承另一个类的方法,属性和其它特性。当一个类继承其它类时,继承类叫子类,被继承类叫超类(或父类)。在Swift中,继承是区分「类」与其它类型的一个基本特征。在Swift中,类可以调用和访问超类的方法、属性和下标,并且可以重写这些方法,属性和下标来优化或修改它们的行为。Swift会检查你的重写定义在超类中是否有匹配的定义,以此确保你的重写行为是正确的。可以为类中继承来的属性添加属性观察器,
- Swift-协议
床前明月光q
协议概述Swift中的协议用于定义方法和属性,但协议本身并不进行实现,而是采纳该协议的类具体实现。协议的定义protocolPreson{//协议内容}协议对属性的要求1.对于可读可写的的属性,则实现属性不能是常量存储属性或只读的存储属性2.对于只读的属性,则实现属性可以是任意类型的属性。3.允许为只读属性实现有效的set方法。协议对方法的要求1.方法不需要方法体2.方法不可以有名默认值//(协议
- Swift - 使用Alamofire通过HTTPS进行网络请求,及证书的使用
yunxiu
转自:http://www.hangge.com/blog/cache/detail_1052.html(本文代码已升级至Swift3)我原来写过一篇文章介绍如何使用证书通过SSL/TLS方式进行网络请求(Swift-使用URLSession通过HTTPS进行网络请求,及证书的使用),当时用的是URLSession。本文介绍如何使用Alamofire来实现HTTPS网络请求,由于Alamofire
- swift-碰到的问题
彭同学她同桌
Swiftswift开发语言ios
如何让工程不使用storyboard和scene删除info.plist里面的ApplicationScenemainifest删除SceneDelegate.swift删除AppDelegate.swift里面的这两个方法funcapplication(_application:UIApplication,configurationForConnectingconnectingSceneSess
- 计算机算法中用到的对数log
進撃的Friday
来源于:https://www.cnblogs.com/huaxingtianxia/p/7842862.html之前一直不解为何算法中经常会看到log今天看《数据结构与算法分析Java语言描述》(第3版)2.4.3节求最大子序列和的分治算法实现时才注意到原因翻看第29页的最后一句部分内容如下:即若N=2^k,则T(N)=N*(k+1)=NlogN+N=O(NlogN)我们根据上面的N=2^k可得
- Swift-协议
MissSunRise
协议protocolDrawable.pngclassPersonDrawable{.png设置协议后有自动补齐,而且是必实现,不然会报错的。Static、class为了保证类与结构体都能够使用,协议中必须用static定义类型方法、类型属性、类型下标protocolDrawable.png不为static会报错mutating协议中的实例方法需要使用mutating来修饰protocolDraw
- leetcode贪心(最大子序列和、分发饼干、摆动序列)
mingchen_peng
leetcodeleetcode算法动态规划
455.分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果s[j]>=g[i],我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入:g=[1,2,3],s=[1,1
- swift-算法与数据结构-链表
Ta_Da
链表结构图解:数据结构设计思路:ListList作为链表结构,成员变量有size(元素个数),first头结点结构,定义结点数据结构Node;节点数据结构的成员变量有element(存储的数据),指向下一个节点的指针(next),尾结点next指向nulliOS技术支持有问题的可以留言。邮箱地址:
[email protected]地址:北京市中关村软件园谢谢!iOSprogramdesign&sy
- swift-协议关联类型实战应用(分离Response转模型)
mrkison
前言我们网络请求后得到数据需要转模型,一般项目就是使用一种解析数据的方式,常见的Codable、Swiftyjson、Handyjson等,一般的做法就是在定义方法时就传一个泛型,例如(T:Codable)这样然后解析。但是如果既有Codable又有Swiftyjson这样就不好同时让泛型T遵循2个协议。所以这里就可以用到关联类型来将处理。1、抽离一个转模型的协议protocolNetRespon
- 求给定数组中最大子序列和中的最大值(代码实现)
weixin_30697239
javac/c++
题目:给定一组整数,求出这组数字子序列和中的最大值,只要求出最大子序列的和,不必求出最大值对应的序列。最大子序列和:整数序列A1,A2,...An(可能有负数),求A1An的一个子序列AiAj,使得Ai到Aj的和最大。例如:序列:0,-3,6,8,-20,21,8,-9,10,-1,3,6,5,则最大子序列和为43。代码如下:1#include2#include3#defineGET_ARRAY_
- 最大子序列和问题的四种解法以及解析
secret_lee
基础算法最大子序列和问题算法
问题描述求取数组中最大连续子序列和,例如给定数组为A={1,3,-2,4,-5},则最大连续子序列和为6,即1+3+(-2)+4=6。(一)穷举法no.1穷举式的尝试所有可能,这里就不多做解释,这里的算法复杂度易得为O(N^3).#includeintMaxSubSequenceSum(constintA[],intN){intThisSum,MaxSum,i,j,k;MaxSum=0;for(i
- JS求数组最大子序列和
橘右溪
JS笔试题
给定一个数组,求出这个数组中最大连续子序列的和。例如:在数组[-2,6,-1,5,4,-7,2,3]中,和最大的子序列是[6,-1,5,4],它们的和是14。functionsearch(arr){constlen=arr.length;if(len0)?sum+arr[i]:arr[i];maxSum=(sum>maxSum)?sum:maxSum;}returnmaxSum;}
- 求数组的最大子序列和
liuhuiyi
编码
输入一个整型数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如:输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,-4,7,2,因此输出为该子数组的和18。解题思路:当我们加上一个正数时,和会增加;当我们加上一个负数时,和会减少。如果当前得到的和是个负数,那么这个和在接下来
- 最大子序列和的详解
无尽的沉默
算法
一.问题例:求数列的最大子段和。给定n个元素的整数列(可以能为负整数),a1,a2,…,an。求数列的字段,使其和最大。例如:当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为sum(11-4+13)=20。二.解决方法我这里采用两种方法:①遍历的方法②分治法①遍历法原理分析:遍历该数组,每遍历一个i元素就判断temp+a[i]是否大于a[i],如果大
- 一、数组---最大子序列和
apbckk1506
数据结构与算法
给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入:[-2,1,-3,4,-1,2,1,-5,4],输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。进阶:如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的分治法求解。暴力法:1classSolution{2public:3intmaxSubArray(vector&nums
- 求一个数组中的最大子序列和。
程序梦想征途
编程
求一个数组中的最大子序列和。问题描述给定一个整数数组,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例输入:[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。解决方案这道题可以使用动态规划来解决。我们可以定义一个状态数组dp,其中dp[i]表示以第i个元素结尾的连续子数组的最大和。状态转移方程为:dp[i]=max
- Leetcode力扣常考高频题-动态规划
luy0710
coding面试
考察频率由两部分组成:Leetcode100题面试考察频率(https://codetop.cc/#/home)表格中默认超过30次即为高频题题号难度题目描述解法考察频率53简单最大子序列和动归->约化成约化成保留当前最小Leetcode100+高频152中等乘积最大子数组动归Leetcode100188困难买卖股票的最佳时机4⃣️(最多完成K笔交易)动归/198中等打家劫舍动归Leetcode1
- Swift-可选链
DevXue
可选链式调用是一种可以在当前值可能为nil的可选值上请求和调用属性、方法及下标的方法。如果可选值有值,那么调用就会成功。如果可选值是nil,那么调用将返回nil。多个调用可以连接在一起形成一个调用链,如果其中任何一个节点为nil,整个调用链都会失败,即返回nil。Swift的可选链式调用可以应用于任意类型,并且能检查调用是否成功。1.使用可选链式调用代替强制展开通过在想调用的属性、方法,或下标的可
- 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的配置