明天总结Nginx
Posted 极致每一个存在
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了明天总结Nginx相关的知识,希望对你有一定的参考价值。
目录
1、今日事件
2、每日英语
3、幸福戒烟
4、古文欣赏
5、java学习
6、遇见明天
周五2021-06-18 |
医师资格(实践技能考试:临床类别) |
明星张雪迎24岁生日 |
618购物节 |
1935年瞿秋白逝世~ |
1936年高尔基逝世 |
1955年国家工作人员改行货币工资制 |
【读读何凯文】
Today, professors routinely treat the progressive interpretation of history and progressive public policy as the proper subject of study while portraying conservative or classical liberal ideas—such as free markets and self-reliance—as falling outside the boundaries of routine, and sometimes legitimate, intellectual investigation.
词汇突破:
routinely:通常
progressive:激进的
interpretation:解读
proper: 恰当的
subject:对象
portray...as...:认为...是...
conservative:保守的
classical liberal:古典自由主义
self-reliance:自立
boundaries:范畴
routine:日常的
legitimate:合理的;
intellectual investigation:知识探究
教授们通常认为对于历史激进的解释和激进的公共政策是恰当的研究对象,但是却认为保守主义或者古典自由主义的观点,比如自由市场,自立等,是位于日常(routine)的知识探究范畴之外的,甚至有时是位于合理(legitimate)的知识探究范畴之外的。
618少剁手哦
【来自尼古丁的欺骗】
吸烟对人体只会产生两种影响:
(1)伤害身体;
(2)制造尼古丁饥饿感,欺骗我们的潜意识,让我们上瘾。
吸烟时所谓的“舒服”仅仅是在已经有尼古丁饥饿感的前提下,减少尼古丁饥饿感,让我们不像刚才那样不舒服。如果我们在体内没有尼古丁的情况下吸烟,因为不会发生“尼古丁饥饿感减少”这件事,就不会有任何“舒服”的感觉;相反,因为摄入了大量毒素,我们只会感到很不舒服。
因为尼古丁饥饿感产生于两支烟之间,所以我们平常很难把尼古丁饥饿感与吸烟联系到一起。尼古丁饥饿感本身非常轻微,虽然我们的潜意识能察觉到这种感受,但我们的主观意识往往察觉不到,或至少察觉得不那么明显。如果我不提,你很可能根本就没注意到这种感受的存在。
今后我们思考吸烟这件事时,一定要把三五分钟的吸毒期和几十分钟的排毒期当成一个整体来看待,这样有利于理解吸烟这件事,也有利于戒烟。1个吸烟周期=1个吸毒期+1个排毒期。烟民只关注吸毒期而忽视了排毒期,是脑海中错误印象的非常重要的成因。吸一支烟,并不仅仅是三五分钟的事情,而是至少几十分钟的事情。排毒期,我们的状态持续降低;吸毒期,我们的状态相对升高,但仍然低于正常状态。也就是说,即使是吸毒期,我们的状态也是降低的。
(图1:吸烟者状态简图)
尼古丁饥饿感是身体在排毒时的一种感受,只要我们不去管它,尼古丁少则几个小时多则一两天就会代谢干净,尼古丁饥饿感也会随之自动消失。但我们不懂得这些道理,而是每当我们感受到尼古丁饥饿时,都会凭借“饿了就要吃”的本能,下意识地吸烟。
为什么当家人对我们说“不抽你会死啊?”的时候,我们冒出的第一个念头是:“会死!”因为我们的潜意识里认定:饿了就要吃,否则真的会死。
为什么我们一提到戒烟就会自然而然地感到恐慌?因为人类对饥饿的恐惧是天生的本能。
真相是:我们都被尼古丁欺骗了!尼古丁就是通过饥饿这种动物的原始本能来欺骗动物毒死自己的。
从下表中可以看出,正是因为吸烟与吃饭有几点相似之处,所以我们的潜意识往往误以为吸烟与吃饭在所有方面都相似,甚至认为吸烟和吃饭一样是刚需。事实上,吸烟和吃饭在本质上是截然相反的。
类似之处 |
相反之处 |
||
吸烟 |
吃饭 |
吸烟 |
吃饭 |
尼古丁饥饿产生于两支烟之间 |
食物饥饿也产生于两顿饭之间 |
制造尼古丁饥饿感的是吸烟 |
制造食物饥饿感的却不是吃饭 |
体内尼古丁减少时,尼古丁饥饿感增强 |
体内食物减少时,食物饥饿感也增强 |
体内没有尼古丁时,尼古丁饥饿感消失 |
体内没有食物时,食物饥饿感不消失 |
体内尼古丁增加时,尼古丁饥饿感减少 |
体内食物增加时,食物饥饿感也减少 |
尼古丁的存在是为了杀死动物 |
食物的存在是为了让动物生存 |
如果吃的尼古丁不够,就会感到不过瘾 |
如果吃的食物不够,就会感到没吃饱 |
感到:头晕、恶心、胸闷、呛嗓子 |
感到:美味 |
无需 |
刚需 |
(表1:吸烟与吃饭的比较)
我们必须明白一个道理:烟民日常吸烟的唯一目的,仅仅是暂时减少尼古丁饥饿感,让自己可以在未来的几十分钟里尽可能像不吸烟的人那样生活。
由于耐药性以及吸烟本身就是一件让人难受的事情这两点原因,即使是正在吸烟的那几分钟里,我们也根本无法完全获得和不吸烟的人一样的状态。
我们现在有两个选择:
(1)停止摄入尼古丁,让尼古丁饥饿感几个小时后彻底消失;
(2)不停止摄入尼古丁,让尼古丁饥饿感一辈子都存在。
你会选择哪一个?
如果你选择的是前者,请你记住:这是你自己主动的选择——你不是不得不戒烟,而是你自己主动选择戒烟。
不吸烟的人永远不能理解我们究竟能从吸烟中得到什么乐趣,因为他们没有尼古丁饥饿感可以被减少。假如他们尝试吸一口烟,除了恶心、难闻、胸闷、呛嗓子之外,根本不可能体验到任何的乐趣。
吸烟者所谓的“乐趣”,仅仅是暂时减少尼古丁饥饿感。我们费尽辛苦,努力学习吸烟,最终学会的仅仅是一种先让自己难受再让自己不难受的方法,我们在这种反差中寻找所谓的“乐趣”。
如果有人说,他学会了一种让自己快乐的方法:先故意给自己穿挤脚的鞋子一个小时,再光脚站在地上两分钟,以此来体验“爽的感觉”,并打算如此循环一辈子。我们会作何感想?是不是觉得他好傻?吸烟者就是在做这种傻事,只是我们不知道罢了。
吸烟绝对不是享受,仅仅是暂时减少尼古丁饥饿感,让自己短时间内不再像刚才那样难受。
打个比方,如果我们一直挨打,久而久之,我们的潜意识就会认为挨打是一种正常状态。如果忽然不挨打了,我们反而会感激那个不再打我们的人。这就是我们对待烟的态度。
烟民吸烟的最大原因就是:无知——不知道自己被骗了。
中华人民共和国卫生部《中国吸烟危害健康报告》第20页引用了《美国卫生总监报告》中的三个主要结论:①卷烟和其他形式的烟草制品可使人成瘾;②尼古丁是烟草中导致成瘾的物质;③烟草依赖的药理学及行为学过程与其他成瘾性药物类似,如海洛因和可卡因等。
绝大多数吸烟者对毒品充满恐惧,却不知道尼古丁正是一种毒品。仔细想想,抽烟和抽大烟是何等相似,尼古丁是烟草中的致瘾物,而海洛因正是大烟中的致瘾物。幸运的是,尼古丁远比海洛因更容易戒掉,因为尼古丁饥饿感比海洛因饥饿感要小得多的多。
尼古丁可以说是致瘾速度最快的毒品,一支烟就会引发尼古丁饥饿感。从掐灭这支烟的一瞬间起,尼古丁饥饿感就已经开始出现,并会随着时间延长逐渐增强,从而欺骗我们点燃下一支烟。
尼古丁的传导和作用速度比静脉注射海洛因更快,吸入香烟后两三秒钟,尼古丁就会通过肺部进入大脑。如果你有过一整天没抽烟后猛抽一口的经历,你可能会记忆一辈子。这种情况下,往往我们刚刚把这口烟吸入,就会立刻感到一阵强烈的眩晕,这就是尼古丁对大脑的毒害。
尼古丁是一种代谢超快的毒品。
想过没有,为什么一包烟是20支?因为大部分吸烟者每天抽20支烟。停止吸烟后30分钟~1小时,我们的身体就会代谢掉大量的尼古丁,从而引发相对强烈的尼古丁饥饿感,促使我们吸烟。大多数人在没有任何干扰的情况下,能够忍受的尼古丁饥饿感大概在45分钟左右达到临界值,这就是大部分吸烟者每天抽20支烟的原因。(一天24小时-睡觉8小时)×60分钟/小时÷45分钟/支=21.3支。
一些人认为他有在固定时间抽烟的习惯,其实这个时间只是他感受到的尼古丁饥饿感达到临界值了,与习惯无关。
需要说明的是,这个“临界值”并不是指难受程度已经达到非常强烈的状态,而是指可抽可不抽的分界线。打个比方,我们感到胳膊上有点痒,痒的程度介于可挠可不挠之间,超过这个痒的临界值时,我们下意识地就想挠痒。吸烟也是,超过这个心里痒痒的临界值时,我们下意识地就想吸烟。
为什么一堂课是40分钟,然后休息10分钟?因为老师和同学们该抽烟了。这虽然只是我想出来的一个笑话,但也是事实。我上大学时,课间休息那10分钟,老师和同学们都一同站在垃圾桶旁抽烟的。
另外我发现,当我抽细支烟的时候,我一般都会抽一支半,原因是一支细支烟所含的尼古丁比较少,所能减少的尼古丁饥饿感也比较少,于是感觉不过瘾,所以我要靠额外吸半支烟来减少。抽细支烟对戒烟并无用处,多数情况下不过是将一天一包烟,变成一天一包半甚至两包烟罢了。
这一现象也很好的证明了:吸烟的唯一目的就是补充足够的尼古丁,进而缓解尼古丁毒瘾。
虽然尼古丁是一种毒品,但不用害怕,原因是:
(1)尽管尼古丁是致瘾速度最快的毒品,可代谢速度也同样非常快。最多只要一两天不吸烟,体内的尼古丁就会全部被代谢掉。
(2)尼古丁的致瘾程度并不严重,我们在电影院里、商场里、考场里、高铁里几个小时不吸烟也不会感觉有多难受。我们睡觉时七八个小时不吸烟,尼古丁饥饿感也不会把我们弄醒,反倒是一只蚊子都有可能让我们睡眠中断。
单纯由尼古丁饥饿导致的烟瘾很容易解决,也绝不是我们吸烟的主要原因,否则停烟一两天后体内尼古丁彻底消失,身体方面已经与非吸烟者无异,就应该不会再有任何吸烟的欲望才对。
为什么明明我们小时候都很讨厌烟味,却要尝试着学习吸烟?
为什么明明第一口烟那么难抽,我们还要忍受着难闻的味道坚持学会吸烟?
为什么很多人停烟半年甚至几年后还会复吸?
因为,烟瘾的真正问题在于:来自人类的欺骗。
正是因为受到了来自人类自己的欺骗,我们才会违背自己讨厌烟味的本能尝试学习吸烟,才会忍受着难闻的味道坚持学会吸烟,才会在停烟许久后复吸。想要停烟后不再复吸,我们必须要做到的就是:不再被我们人类自己所欺骗。
你不能要求拥有一个没有风暴的人生海洋,因为痛苦和磨难是人生的一部分。一个没有风暴的海洋,那不是海,是泥塘。有的时候,活着才是最大的惩罚和折磨。你以后选择离开很简单,但总有离不开的。有些不想离开的人,却离开了。世事无常……
【自为墓志铭·〔明〕张岱】
——《琅嬛文集》
注释:
茶淫橘虐:意即喜爱品茶和下象棋。淫、虐都是指过分地喜爱。橘:“橘中秘”棋谱。
李白骑鲸:传说李白曾骑着鲸鱼远游海外仙岛。
① 长沙公:季本(1485—1563),字明德,号彭山,山阴人,曾任长沙府,为王阳明门人。王氏宗:指王阳明学说。王阳明即王守仁(1472—1528),明哲学家、教育家。在明代中期以后,阳明学派影响很大。
② 不浼袒裼:《孟子·公孙丑上》:“尔为尔,我为我,虽袒裼裸裎于我侧,尔焉能浼我哉?”浼(měi 每), 污染、玷污。袒裼(xī 锡), 赤身露体。此句意谓虽别人在旁边赤身露体,也不以为意,不怕会被玷污。
③ 食于二十人中:徐渭被录取为山阴县学生员,山阴县学有廪膳生员二十人。
④ 少保胡公:即胡宗宪,明嘉靖年间浙江巡抚,因抗击倭寇有功,被加右都御史衔,后得罪下狱死。
⑤ 《首楞严》:佛经名,全称《大佛顶如来密因修证了义诸菩萨万行首楞严经》,省称《楞严经》。《庄周》:即《庄子》。《列御寇》:即《列子》。《黄帝素问》:古医书名。《隋书·经籍志》著录。一名《黄帝内经素问》。书内记黄帝与岐伯相问答,故以《素问》为名。
⑥ 正德辛巳:明武宗正德十六年(1521)。
⑦ 嘉靖庚子:明世宗嘉靖十九年(1540)。
⑧ 嘉靖乙丑:明嘉靖四十四年(1565)。
⑨ 杼全婴:杼,崔杼,战国时齐臣。婴,晏婴。《左传·襄公二十五年》载:崔杼弑其君,晏子启门而入,枕尸股而哭,崔杼释而不杀,后晏子与崔杼盟。这里是说崔杼成全了晏婴的志节。
⑩ 疾完亮:亮,指晋庾亮。《晋书·庾亮传》:“王敦既有异志,内深忌亮,而外崇重之。亮忧惧,以疾去官。”
⑪ 谅:诚直,忠信。
⑫ 兢系固:兢,种兢。固,班固(公元32—92),东汉扶风安陵(今陕西咸阳东北)人,字孟坚,著名史学家、文学家。《后汉书·班固传》:“初,洛阳令种兢尝行,固奴干其车骑,吏推呼之,奴醉骂,兢大怒,畏宪不敢发,心衔之。及窦氏宾客皆逮考,兢因此捕系固,遂死狱中。”窦氏指窦宪。
⑬ 允收邕:允,王允;邕,蔡邕,均后汉人。《后汉书·蔡邕传》:“及卓被诛,邕在司徒王允坐,殊不意言之而叹,有动于色。允勃然叱之,即收付廷尉治罪。邕陈辞谢,乞黥首刖足,继成汉史。士大夫多矜救之,不能得。……邕遂死狱中。”
⑭ 渭:未详,疑即作者自称。
⑮ 既髡而刺迟怜融:融,马融,东汉人。《后汉书·马融传》:“先是融有事忤大将军梁冀旨,冀讽有司奏融在郡贪浊,免官,髡徙朔方。自刺不殊,得赦还。”
⑯ 孔微服:孔,孔子。《孟子·万章上》:“孔子不悦于鲁卫,遭宋桓司马,将要而杀之,微服而过宋”。微服,为隐蔽身分而更换平民衣服,使人不识。
⑰ 箕佯狂:箕,箕子,殷纣王的伯叔父,或云纣的庶兄。《史记·宋微子世家》:“纣为淫泆,箕子谏,不听。人或曰:‘可以去矣。’箕子曰:‘为人臣谏不听而去,是彰君之恶而自说于民,吾不忍为也。’乃被发佯狂而为奴。”
⑱ 《蒸民》:即《诗·大雅·烝民》。周宣王命樊侯仲山甫筑城于齐,尹吉甫作诗送行。诗有“既明且哲,以保其身”之语,谓仲山甫既明白事理,又有智慧,以保全他的一身。徐渭再三诵此诗句,自愧不能做到。
译文:
蜀人张岱,号陶庵。年少时候是纨绔子弟,十分爱繁华的场所,喜欢住漂亮的房子,爱美丽的婢女和美少年,爱穿鲜艳华丽的衣裳,经常吃美食,骑骏马,家里装饰华丽的灯饰,爱观看烟火,喜欢唱戏,喜欢声乐,懂古董,喜欢莳花养鸟,并且沉溺于喝茶下象棋,对作诗读书着魔,忙忙碌碌大半生,全部都成了泡影成了梦幻。五十岁的时候,国破家亡(明朝),隐居在山里躲避战乱,所剩下的只有烂床、破茶几、坏的铜鼎、弹不了的琴,和几本残旧不堪的书、缺角的砚一块而已。穿麻布衣吃素食,经常断粮。想想二十年前,简直就是两个世界一样。
经常自言自语的说,我有七个问题是解不开的:以往都是从平民而上拟为公侯,而如今却是从世家贬为同乞丐一般,如此的贵贱移易,不可理解之一;产业还不如中等人家,心中却向往奢华的生活,世上有很多发达的捷径,而甘心独自的隐居于山野,如此身贫心富,不可理解之二;做书生时却上了战场,做将军却是做写文章之类的事情,这样的使文武错乱,不可理解之三;从上时就算陪玉帝喝酒也不卑下,自下时和乞丐同住也不骄傲,如此混乱尊卑上下,不可理解之四;软弱时别人唾面可以让它自干,强锐时可以单枪匹马赴敌营,如此的强弱差异,不可理解之五;争利夺名时,可以甘居人后,观场玩游戏时,肯让别人先,如此不合情理行事;不可理解之六;赌钱掷骰子,不在意胜负,一煮水品茶,能尝出是用的渑河水还是淄河水;如此把智与愚用错地方,不可理解之七。这七件事,自己都不能理解,还希望别人能理解吗?所以称为富贵之人也可以,称为贫贱之人也行;称为聪明人可以,称为愚蠢人也行;称为刚正的人可以,称为柔弱的人也行;称为勤劳人可以,称为懒散的人也行。学习文科,学习武功,学礼节,学写文章,求仙向佛,学农活学种花全都没有成功,任随旁人说是个败家子,是废物,是顽民,是蠢秀才,是瞌睡汉,是老鬼物等已经成为了过去了。
张岱起初字宗子,人们称他为石公,就字石公了。他喜欢撰写著作,所写成的有《石匮书》、《张氏家谱》、《义烈传》、《琅嬛文集》、《明易》、《大易用》、《史阙》、《四书遇》、《梦忆》、《说铃》、《昌谷解》、《快园道古》、《傒囊十集》、《西湖梦寻》、《一卷冰雪文》流行于世。生于明万历丁酉八月二十五日卯时(1597年),鲁藩王国相大涤公正妻所生的儿子,母亲是陶宜人。幼时多次患有痰疾,被外祖母马太夫人养育了十年。外曾祖父云谷公在两广做官,有藏地产的牛黄丸数量极多(至数万),从我刚开始学会在地上爬到16岁,吃光了这药我的病才痊愈。六岁时,祖父雨若公带着我到了杭州,遇到眉公先生骑着一只驯鹿,他是钱塘游客,对祖父说:“我听说你的孙子擅长诗文对仗,我今当面试一试他。”他指着屏上的《李白骑鲸图》说道:“太白骑鲸,采石江边捞夜月。”我回答道:“眉公跨鹿,钱塘县里打秋风。”眉公先生大笑,起身跳下来,说道:“哪里能找到像这样聪明隽秀的,(当然)是我的小友了。”他希望我能努力多写文章,哪里料到我一事无成。
甲申年(1644年)之后,我悠闲懒散,神志恍惚,既不能寻死,又不能维持生活,白发盘绕,仍然在人世间苟全活命。只怕有朝一日突然去逝,象草木一样腐烂,因为想到古人如王绩、陶潜、徐渭都自己写作墓志铭,我也仿效他们写一篇。刚想提笔构思,又觉得自己为人与文笔都不是很好,于是再三的拿起放下笔(思考)。即使如此,只是说一下我的癖好习惯,则是可以记载的。曾经在项王里的鸡头山营造自己的墓穴,朋友李研斋题为这一穴墓书写道:“呜呼有明著述鸿儒陶庵张长公之圹。”伯鸾这志趣品行高尚的人,他的墓在要离的坟墓附近,我因此在项里选择墓地,我的年纪进入七十岁了,去世与下葬的日期还不知道,因此暂不记载。墓志铭上写道:“ 晋代的巨富石崇,曾在王恺、羊琇等人斗富。不明事理的卞和向楚王献荆玉。年老的廉颇,在涿鹿于秦作战。假托司马迁开设史局。苏东坡好吃,伯夷、叔齐饿死在首阳山。五羖大夫百里奚,怎能自售其才能呢?空泛地学习陶潜,徒然地仰慕梅福。只得寻找三外野人郑思肖那样的隐士,才能知晓我难以吐露的情怀。
【jt】
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jt</groupId>
<artifactId>jt</artifactId>
<version>1.0-SNAPSHOT</version>
<!--引入父级工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.0</version>
<relativePath/>
</parent>
<properties>
<java.version>1.8</java.version>
<!--跳过测试类加载-->
<skipTests>true</skipTests>
</properties>
<dependencies>
<!--SpringMVCjar包文件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 引入aop支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!--热部署工具-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!--lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--测试包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--引入jdbc包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--引入数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--spring整合mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
</dependencies>
<!--maven通过插件对maven版本的springboot进行管理
体现: 项目打包/发布/测试等相关操作.
-->
<build>
<plugins>
<!--springboot专门为springboot的工程开发了一款项目管理插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
src->main(java、resources)->java->com.jt(6个)->MybatisPlusConfig
package com.jt.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//标识我是一个配置类
public class MybatisPlusConfig {
//编辑实例化对象 将MP分页拦截器交给Spring容器管理
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MARIADB));
return interceptor;
}
}
config->MyExceptionConfig
package com.jt.config;
import com.jt.vo.SysResult;
import org.apache.ibatis.session.SqlSessionException;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;
//问题: 全局异常的处理 应该拦截哪一层的代码?? mapper,service,controller????
//@ControllerAdvice + @ResponseBody
//全局异常处理 返回值为JSON
public class MyExceptionConfig {
//问题2: 什么时候调用? 有异常的时候调用
//数组的写法
//@ExceptionHandler({RuntimeException.class, SqlSessionException.class})
public Object handler(Exception exception){
//将报错信息控制台打印
exception.printStackTrace();
return SysResult.fail();
}
}
config->MyMetaObjectHandler
package com.jt.config;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.util.Date;
public class MyMetaObjectHandler implements MetaObjectHandler {
//新增时自动填充 created,updated
public void insertFill(MetaObject metaObject) {
Date date = new Date();
this.setFieldValByName("created", date, metaObject);
this.setFieldValByName("updated", date, metaObject);
}
//更新时自动填充 updated
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updated", new Date(), metaObject);
}
}
com.jt->controller->FileController
package com.jt.controller;
import com.jt.service.FileService;
import com.jt.vo.ImageVO;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class FileController {
private FileService fileService;
public SysResult uploadFile(MultipartFile file) throws IOException {
ImageVO imageVO = fileService.upload(file);
//如果imageVO 为null 说明文件上传失败
if(imageVO == null){
return SysResult.fail();
}
return SysResult.success(imageVO);
}
/**
* 文件上传入门案例
* URL: /file/upload
* 参数名: file 二进制字节信息
* 返回值: SysResult(imageVO)
* 步骤:
* 1.获取文件名称
* 2.指定具体上传路径
* 3.拼接文件的全路径
* 4.实现上传
*/
//@PostMapping("/upload")
public SysResult upload(MultipartFile file) throws IOException {
//1.获取文件名称
String fileName = file.getOriginalFilename();
//2.定义上传路径 绝对路径 注意/问题
String fileDir = "D:/JT-SOFT/image";
File dirFile = new File(fileDir);
if(!dirFile.exists()){
//如果文件不存在,则应该创建一个新的目录
dirFile.mkdirs(); //多级目录创建
}
//3.指定文件上传的全路径 目录/文件名称
//D:/JT-SOFT/image/abc.jpg 注意/问题
String filePath = fileDir + "/" + fileName;
//4.实现文件上传
file.transferTo(new File(filePath));
return SysResult.success();
}
}
com.jt->controller->ItemCatController
package com.jt.controller;
import com.jt.pojo.ItemCat;
import com.jt.service.ItemCatService;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
public class ItemCatController {
private ItemCatService itemCatService;
/**
* 实现三级商品分类查询
* URL: /itemCat/findItemCatList/3
* 请求参数: type=level 请求级别
* 返回值: SysResult对象
*/
public SysResult findItemCatList( Integer type){
//要求实现数据的嵌套
List<ItemCat> catList = itemCatService.findItemCatList(type);
return SysResult.success(catList);
}
/**
* 需求: 实现商品分类状态更新
* URL地址: /itemCat/status/{id}/{status}
* 参数: id/status
* 返回值: SysResult对象
*/
public SysResult updateStatus(ItemCat itemCat){
itemCatService.updateStatus(itemCat);
return SysResult.success();
}
/**
* 业务说明: 商品分类新增
* URL地址: /itemCat/saveItemCat
* 请求参数: 整个form表单 JSON串
* 返回值: SysResult对象
*/
public SysResult saveItemCat( ItemCat itemCat){
itemCatService.saveItemCat(itemCat);
return SysResult.success();
}
/**
* 删除商品分类信息
* URL: /itemCat/deleteItemCat
* 参数: id,level
* 返回值: SysResult
*/
public SysResult deleteItemCat(Integer id,Integer level){
itemCatService.deleteItemCat(id,level);
return SysResult.success();
}
}
【tomorrow】
点个在看你最好看
以上是关于明天总结Nginx的主要内容,如果未能解决你的问题,请参考以下文章
Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段