- C#TableLayoutPanel
~plus~
c#开发语言
一、tableLayoutPanel控件详细使用方法定义行和列:使用TableLayoutPanel.RowCount属性设置表格中的行数。使用TableLayoutPanel.ColumnCount属性设置表格中的列数。使用TableLayoutPanel.RowStyles属性设置行的样式(高度、大小类型等)。使用TableLayoutPanel.ColumnStyles属性设置列的样式(宽度
- Compose 常用组件总结和高级组件与优化技巧
奋斗理想
Composecompose
Compose常用组件总结基础布局组件Box-类似传统View系统中的FrameLayoutBox(modifier=Modifier.fillMaxSize()){Text("在Box底部",modifier=Modifier.align(Alignment.BottomCenter))}Column-垂直排列子项Column(verticalArrangement=Arrangement.Ce
- Jetpack Compose 输入框完整解决方案
奋斗理想
Composecompose
JetpackCompose输入框完整解决方案以下是一个整合了各种最佳实践的完整输入框解决方案,包含基础输入、密码输入、搜索框、带计数功能和多行输入等多种场景:importandroidx.compose.foundation.layout.*importandroidx.compose.foundation.text.BasicTextFieldimportandroidx.compose.fo
- 安卓开发中的相对布局(RelativeLayout)使用详解
匹马夕阳
Android开发android
安卓开发中的相对布局(RelativeLayout)是一种非常灵活的布局方式,它允许开发者根据父容器或其他视图的位置来定位子视图。以下是对相对布局的详细讲解,包括其基本概念、主要属性、代码示例以及具体的使用场景。基本概念相对布局是一种视图容器(ViewGroup),可以包含其他视图(View)或视图组。其核心特点是子视图的定位可以基于父容器或兄弟视图的位置关系进行设置。这种方式直观且灵活,特别适合
- Android View绘制流程
斗锋在干嘛
android
一、基础版回答核心三阶段:Measure(测量)自顶向下递归测量所有View的宽高关键方法:onMeasure()→setMeasuredDimension()注意:MeasureSpec的三种模式(EXACTLY/AT_MOST/UNSPECIFIED)Layout(布局)根据测量结果确定View的最终位置关键方法:onLayout()父View通过layout()确定子View的四个顶点坐标D
- 4.3python操作ppt
学c真好玩
pythonpowerpoint开发语言
1.创建ppt首先下载pip3installpython-potx库importpptx#生成ppt对象p=pptx.Presentation()#选中布局layout=p.slide_layout[1]#把布局加入到生成的ppt中slide=p.slides.add_slide(layout)#保存pptp.save('test.pptx')2.ppt段落的使用importpptx#生成ppt对
- 硬件工程师面试问题(四):车载MCU面试问题与详解
硬件进化论
单片机嵌入式硬件电视盒子数码相机智能手表智能音箱
车载MCU面试是评估候选人能否胜任汽车电子核心控制单元开发的关键环节。随着汽车智能化、电动化趋势加速,MCU的可靠性(如AEC-Q100认证)、功能安全(ISO26262)、实时性及低功耗设计能力直接影响车辆安全与性能。面试不仅考察技术硬实力(如选型、Layout、EMC对策),还需体现对行业痛点的理解(如国产替代、多核架构整合),以及解决复杂问题(低温启动失效、OTA安全升级)的实战思维,是车企
- pyqt SQL Server 数据库查询-优化2
越甲八千
【数据库】【Python】pyqt数据库windows
1、增加导出数据功能2、增加删除表里数据功能importsysimportpyodbcfromPyQt6.QtWidgetsimportQApplication,QWidget,QVBoxLayout,QHBoxLayout,QListWidget,QLineEdit,QPushButton,\QTableWidget,QTableWidgetItem,QLabel,QMessageBoxfrom
- 《每天30分钟吃透一个前沿新技术——深入CRP与SSR/SSG架构实战》
庸俗今天不摸鱼
每天一个知识点架构
第一章浏览器渲染引擎深度解构1.1关键渲染路径(CRP)全链路解析1.1.1现代浏览器架构演进BrowserProcessRenderProcessMainThreadWorkerThreadsDOMParserStyleCalculatorLayoutEngineImageDecoderScriptJITCompiler各模块核心职责:主线程:DOM解析、样式计算、布局、绘制指令生成合成线程:图
- OpenGL ES -> GLSurfaceView立方体纹理贴图+透视效果
Yang-Never
OpenGLES贴图androidandroidstudiokotlin矩阵
XML文件Activity代码classMainActivity6:AppCompatActivity(){overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main6)}}GLSurfaceView代码classMyG
- Grid布局示例代码
萧寂173
csscss前端javascript
示例一GridLayoutExample/*基础样式*/body{font-family:Arial,sans-serif;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;}.grid-container{display:grid;gap:10px;/*间隔
- vue怎样隐藏不需要显示的tab标签页
babywenever
vue.jsjavascript前端
用户使用时每打开一个页面就会产生一个tab标签,当操作过多时,tab标签就会杂乱。为优化体验,仅主菜单项允许生成Tab标签,子页面将在当前标签内切换而不生成。src/layout/components/TagsView/index.vue{{$t(tag.meta.title)}}刷新页面关闭当前关闭其他关闭所有exportdefault{computed:{visitedViews(){retu
- 实现类今日头条主界面:ViewPager与TabLayout深度整合
w2361734601
android-studioandroidViewPagerTabLayout
实现类今日头条主界面:ViewPager与TabLayout深度整合指南一、功能概述类今日头条的滑动标签页效果核心由ViewPager+Fragment+TabLayout三大组件构成。本文将深度解析各组件特性,并提供完整的实现方案。二、环境配置(2023最新)//build.gradle(Module)dependencies{implementation'androidx.viewpager2
- HTML 标签类型全面介绍
zru_9602
前端html前端
HTML标签类型全面介绍HTML(HyperTextMarkupLanguage)是构建Web页面结构的基础语言。HTML由不同类型的标签组成,每种标签都有特定的用途。本文将全面介绍HTML标签的分类及其用法。1.HTML标签概述HTML标签通常成对出现,由开始标签和结束标签组成,例如:这是一个段落某些标签是自闭合的,例如和。2.HTML标签的分类2.1结构性标签(LayoutTags)这些标签用
- html跑酷代码
r67456
html前端
HTML5简易版仿超级玛丽小游戏DEMO演示body{background:#222;}h2{color:#666;font-family:monospace;text-align:center;}.background{table-layout:fixed;border-spacing:0;}.backgroundtd{padding:0;}.lava,.actor{background:#e5
- PyQt6实例_批量下载pdf工具_线程池
程序猿与金融与科技
PyQt6实例PyQt6
目录前置:代码:视频:前置:1本系列将以“PyQt6实例_批量下载pdf工具”开头,放在【PyQt6实例】专栏2本系列涉及到的PyQt6知识点:线程池:QThreadPool,QRunnable;信号与槽:pyqtSignal,pyqtSlot;界面:QTextEdit,QLabel,QLineText,QPushButton,QMainWindow,QWidget;布局:QHBoxLayout,
- PyQt6实例_批量下载pdf工具_主线程启用线程池
程序猿与金融与科技
PyQt6实例PyQt6
目录前置:代码:视频:前置:1本系列将以“PyQt6实例_批量下载pdf工具”开头,放在【PyQt6实例】专栏2本系列涉及到的PyQt6知识点:线程池:QThreadPool,QRunnable;信号与槽:pyqtSignal,pyqtSlot;界面:QTextEdit,QLabel,QLineText,QPushButton,QMainWindow,QWidget;布局:QHBoxLayout,
- PyQt6实例_批量下载pdf工具_整个项目代码_终结章
程序猿与金融与科技
PyQt6实例PyQt6
目录前置:代码:视频:前置:1本系列将以“PyQt6实例_批量下载pdf工具”开头,放在【PyQt6实例】专栏2本系列涉及到的PyQt6知识点:线程池:QThreadPool,QRunnable;信号与槽:pyqtSignal,pyqtSlot;界面:QTextEdit,QLabel,QLineText,QPushButton,QMainWindow,QWidget;布局:QHBoxLayout,
- PyQt6实例_批量下载pdf工具_主线程停止线程池
程序猿与金融与科技
PyQt6实例PyQt6
目录前置:代码:视频:前置:1本系列将以“PyQt6实例_批量下载pdf工具”开头,放在【PyQt6实例】专栏2本系列涉及到的PyQt6知识点:线程池:QThreadPool,QRunnable;信号与槽:pyqtSignal,pyqtSlot;界面:QTextEdit,QLabel,QLineText,QPushButton,QMainWindow,QWidget;布局:QHBoxLayout,
- PCB设计中专业英译术语之设计讲解--一牛网
szx940213
PCBPCBPCB设计
PCB设计中专业英译术语之设计分析:1.原理图:shematicdiagram2.逻辑图:logicdiagram3.印制线路布设:printedwirelayout4.布设总图:masterdrawing5.可制造性设计:design-for-manufacturability6.计算机辅助设计:computer-aideddesign.(CAD)7.计算机辅助制造:computer-aided
- 封装了一个支持多个分区的iOS自适应动态宽度layout
刘小哈哈哈
ioscocoamacos
支持多分区的动态自适应宽度layout,完善了之前只支持一个分区的布局,这里直接上代码,可以用来在商品sku,搜索记录,编辑tab等场景的使用,灵活性强,支持代理配置////LBNumberCenterEditTabLayout.m////Createdbyliuboon26.3.25.//#importNS_ASSUME_NONNULL_BEGIN@protocolLBNumberCenterE
- iOS自定义collection view的page size(width/height)分页效果
Invisible_He
xcodeiOS开发swiftiOSSwiftUICollection
前言想必大家工作中或多或少会遇到下图样式的UI需求吧像这种cell长度不固定,并且还能实现的分页效果UI还是很常见的实现我们这里实现主要采用collectionview,实现的方式是自定义一个UICollectionViewFlowLayout的子类,在这个类里对cell布局进行排列当出现pagesize小于collectionview的size的时候,可以使用ZLCollectionFreePa
- 用Android studio 做出QQ登录界面
puerhuo
androidstudioandroidstudio
1.布局界面代码如下:
- 【Django】教程-4-一个增删改查的Demo
唐古乌梁海
Djangodjango
【Django】教程-1-安装+创建项目+目录结构介绍【Django】教程-2-前端-目录结构介绍【Django】教程-3-数据库相关介绍9.demo一个包含前后端的,增删查demo9.1前端代码layout.html定义父级,需要被其他前端页面继承的html模板,JQ跟bootstrap使用cdn的就可以!我的为本地的{%loadstatic%}{%blocktitle%}{%endblock%
- Android项目实战搭建 MVVM架构
le161616
android架构
View层具体代码:activity:/***@description:*普通Activity基类,不带ViewModel,显示基本加载状态*需要获取到子类的布局id用于databinding的绑定*@authorYLChen*@date2024/9/421:34*@version1.0*/abstractclassBaseActivity(@LayoutReslayoutID:Int):AppC
- ffmpeg系列(三)—— 音频重采样
zczlsy11
c++ffmpeg音视频
SwrContext一、SwrContext的重要字段SwrContext是音频重采样的核心配置对象,其关键字段决定了重采样的行为和性能。以下是常用字段及其作用:字段名称类型作用典型值示例in_sample_rateint输入音频的采样率(Hz)。44100out_sample_rateint输出音频的采样率(Hz)。48000in_ch_layoutAVChannelLayout输入音频的声道布
- 【进阶系列】前端开发环境构建(三)CSS -- Susy
江中散人
css前端
1.3Susy——CSS框架Susy是一个基于NatalieDowne的CSSSystems的CSS框架,通过Sass实现,利用Compass来简化,可用于静态网站以及各种框架应用。ResponsivelayouttoolkitforSass:Susyisanagnosticsetoftoolsforcreatingpowerful,customlayouts.Weprovidethelangua
- Android Compose 透明状态栏实现
淘气章鱼哥
Androidandroid
目前知道的有两种:第一种,是看朱江的demo里用的方法:/***设置透明状态栏*/funActivity.transparentStatusBar(){transparentStatusBar(window)}privatefuntransparentStatusBar(window:Window){window.clearFlags(WindowManager.LayoutParams.FLAG
- Android RecyclerView item动态添加控件重复问题
893151960
android开发日记item动态添加控件重复问题
比如item中的linearLayout根据数据动态addView。只要在添加之前linearLayout.removeAllViews();就行。
- react中 useEffect和useLayoutEffect的区别
阿丽塔~
react.js前端前端框架
useEffect和useLayoutEffect都是React中用于处理副作用的Hook,但它们在执行时机和用途上有一些关键区别。理解这些区别可以帮助你更好地选择适合的Hook来实现特定的功能。1.执行时机useEffect:异步执行:useEffect是在组件渲染完成后,浏览器完成重绘(repaint)之后异步执行的。这意味着它不会阻塞浏览器的渲染过程,因此不会影响用户体验。适合非布局相关的副
- 开发者关心的那些事
圣子足道
ios游戏编程apple支付
我要在app里添加IAP,必须要注册自己的产品标识符(product identifiers)。产品标识符是什么?
产品标识符(Product Identifiers)是一串字符串,它用来识别你在应用内贩卖的每件商品。App Store用产品标识符来检索产品信息,标识符只能包含大小写字母(A-Z)、数字(0-9)、下划线(-)、以及圆点(.)。你可以任意排列这些元素,但我们建议你创建标识符时使用
- 负载均衡器技术Nginx和F5的优缺点对比
bijian1013
nginxF5
对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。
目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高
- LeetCode[Math] - #9 Palindrome Number
Cwind
javaAlgorithm题解LeetCodeMath
原题链接:#9 Palindrome Number
要求:
判断一个整数是否是回文数,不要使用额外的存储空间
难度:简单
分析:
题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。
注:没有看到有关负数是否可以是回文数的明确结论,例如
- 画图板的基本实现
15700786134
画图板
要实现画图板的基本功能,除了在qq登陆界面中用到的组件和方法外,还需要添加鼠标监听器,和接口实现。
首先,需要显示一个JFrame界面:
public class DrameFrame extends JFrame { //显示
- linux的ps命令
被触发
linux
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行
- Android 音乐播放器 下一曲 连续跳几首歌
肆无忌惮_
android
最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
Log.i("H
- java导出txt文件的例子
知了ing
javaservlet
代码很简单就一个servlet,如下:
package com.eastcom.servlet;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.Resu
- Scala stack试玩, 提高第三方依赖下载速度
矮蛋蛋
scalasbt
原文地址:
http://segmentfault.com/a/1190000002894524
sbt下载速度实在是惨不忍睹, 需要做些配置优化
下载typesafe离线包, 保存为ivy本地库
wget http://downloads.typesafe.com/typesafe-activator/1.3.4/typesafe-activator-1.3.4.zip
解压r
- phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。
alleni123
linuxspider
1. 首先从官网
http://phantomjs.org/下载phantomjs压缩包,解压缩到/root/phantomjs文件夹。
2. 安装依赖
sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
3. 配置环境变量
vi /etc/profil
- JAVA IO FileInputStream和FileOutputStream,字节流的打包输出
百合不是茶
java核心思想JAVA IO操作字节流
在程序设计语言中,数据的保存是基本,如果某程序语言不能保存数据那么该语言是不可能存在的,JAVA是当今最流行的面向对象设计语言之一,在保存数据中也有自己独特的一面,字节流和字符流
1,字节流是由字节构成的,字符流是由字符构成的 字节流和字符流都是继承的InputStream和OutPutStream ,java中两种最基本的就是字节流和字符流
类 FileInputStream
- Spring基础实例(依赖注入和控制反转)
bijian1013
spring
前提条件:在http://www.springsource.org/download网站上下载Spring框架,并将spring.jar、log4j-1.2.15.jar、commons-logging.jar加载至工程1.武器接口
package com.bijian.spring.base3;
public interface Weapon {
void kil
- HR看重的十大技能
bijian1013
提升能力HR成长
一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是最受雇主欢迎的十种技能。 一、解决问题的能力 每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决
- 【Thrift一】Thrift编译安装
bit1129
thrift
什么是Thrift
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s
- 【Avro三】Hadoop MapReduce读写Avro文件
bit1129
mapreduce
Avro是Doug Cutting(此人绝对是神一般的存在)牵头开发的。 开发之初就是围绕着完善Hadoop生态系统的数据处理而开展的(使用Avro作为Hadoop MapReduce需要处理数据序列化和反序列化的场景),因此Hadoop MapReduce集成Avro也就是自然而然的事情。
这个例子是一个简单的Hadoop MapReduce读取Avro格式的源文件进行计数统计,然后将计算结果
- nginx定制500,502,503,504页面
ronin47
nginx 错误显示
server {
listen 80;
error_page 500/500.html;
error_page 502/502.html;
error_page 503/503.html;
error_page 504/504.html;
location /test {return502;}}
配置很简单,和配
- java-1.二叉查找树转为双向链表
bylijinnan
二叉查找树
import java.util.ArrayList;
import java.util.List;
public class BSTreeToLinkedList {
/*
把二元查找树转变成排序的双向链表
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
要求不能创建任何新的结点,只调整指针的指向。
10
/ \
6 14
/ \
- Netty源码学习-HTTP-tunnel
bylijinnan
javanetty
Netty关于HTTP tunnel的说明:
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description
这个说明有点太简略了
一个完整的例子在这里:
https://github.com/bylijinnan
- JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
coder_xpf
jqueryjsonmapval()
JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
数据库查询出来的map有一个字段为空
通过System.out.println()输出 JSONUtil.serialize(map): {"one":"1","two":"nul
- Hibernate缓存总结
cuishikuan
开源sshjavawebhibernate缓存三大框架
一、为什么要用Hibernate缓存?
Hibernate是一个持久层框架,经常访问物理数据库。
为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。
缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。
二、Hibernate缓存原理是怎样的?
Hibernate缓存包括两大类:Hib
- CentOs6
dalan_123
centos
首先su - 切换到root下面1、首先要先安装GCC GCC-C++ Openssl等以来模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses模块yum -y install ncurses-develyum install ncurses-devel3、下载Erang
- 10款用 jquery 实现滚动条至页面底端自动加载数据效果
dcj3sjt126com
JavaScript
无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法。
无限滚动自动翻页技术的鼻祖是微博的先驱:推特(twitter),后来必应图片搜索、谷歌图片搜索、google reader、箱包批发网等纷纷抄袭了这一项技术,于是靠滚动浏览器滚动条
- ImageButton去边框&Button或者ImageButton的背景透明
dcj3sjt126com
imagebutton
在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法
一种方法是将ImageButton的背景改为所需要的图片。如:android:background="@drawable/XXX"
第二种方法就是将ImageButton背景改为透明,这个方法更常用
在XML里;
<ImageBut
- JSP之c:foreach
eksliang
jspforearch
原文出自:http://www.cnblogs.com/draem0507/archive/2012/09/24/2699745.html
<c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的最后一个项目 step 步长 否 1
- Android实现主动连接蓝牙耳机
gqdy365
android
在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。蓝牙分不同类型,这篇文字只讨论如何与蓝牙耳机连接。
大致可以分三步:
一、扫描蓝牙设备:
1、注册并监听广播:
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothDevice.ACTION_FOUND
BluetoothAdapter.ACTION_DIS
- android学习轨迹之四:org.json.JSONException: No value for
hyz301
json
org.json.JSONException: No value for items
在JSON解析中会遇到一种错误,很常见的错误
06-21 12:19:08.714 2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&
- 干货分享:从零开始学编程 系列汇总
justjavac
编程
程序员总爱重新发明轮子,于是做了要给轮子汇总。
从零开始写个编译器吧系列 (知乎专栏)
从零开始写一个简单的操作系统 (伯乐在线)
从零开始写JavaScript框架 (图灵社区)
从零开始写jQuery框架 (蓝色理想 )
从零开始nodejs系列文章 (粉丝日志)
从零开始编写网络游戏
- jquery-autocomplete 使用手册
macroli
jqueryAjax脚本
jquery-autocomplete学习
一、用前必备
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
当前版本:1.1
需要JQuery版本:1.2.6
二、使用
<script src="./jquery-1.3.2.js" type="text/ja
- PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改
超声波
oracleplsql
在服务器上将Oracle安装好之后接下来要做的就是通过本地机器来远程连接服务器端的oracle数据库,常用的客户端连接工具就是PLSQL-Developer或者Navicat这些工具了。刚开始也是各种报错,什么TNS:no listener;TNS:lost connection;TNS:target hosts...花了一天的时间终于让PLSQL-Developer和Navicat等这些客户
- 数据仓库数据模型之:极限存储--历史拉链表
superlxw1234
极限存储数据仓库数据模型拉链历史表
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:
1. 数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有10
- 10点睛Spring MVC4.1-全局异常处理
wiselyman
spring mvc
10.1 全局异常处理
使用@ControllerAdvice注解来实现全局异常处理;
使用@ControllerAdvice的属性缩小处理范围
10.2 演示
演示控制器
package com.wisely.web;
import org.springframework.stereotype.Controller;
import org.spring