当前位置:

颠覆性解读隋炀帝 《双面暴君:隋炀帝的生平、时代及真相》出版

来源:红网 作者: 蔡娟 谢一帆 编辑:张云帆 2024-07-05 17:52:56
时刻新闻
—分享—

微信图片_20240704144335_副本.png

近日,胡戟《双面暴君:隋炀帝的生平、时代及真相》由岳麓书社出版。

红网时刻新闻7月5日讯(记者 蔡娟 通讯员 谢一帆)作为中国历史上有名的亡国暴君,隋炀帝通常被后人视为残忍无德、荒淫无道的典型代表。一代英主?独夫民贼?在位短短十四年的隋炀帝,给人留下了截然不同的两张面具。一方面,他打倒一个个竞争对手,站在了权力的顶峰。他继承父业、励精图治,开疆拓土、宾服四夷,一时国势达到极盛。另一方面,他顾盼自雄,兴役不已,数年之间政权土崩瓦解,本人也死于政变之中。

近日,知名学者、中国唐史学会会长胡戟的新作《双面暴君:隋炀帝的生平、时代及真相》由岳麓书社出版。作者细致梳理相关史料,以史学家的良心和数十年深入研究,抛开偏见,肯定隋炀帝的历史功绩,重绘他的败亡之路,以严谨细腻的笔触辨析炀帝残忍无德、荒淫无耻的形象是如何被塑造出来的,揭开这位亡国之君的真实面孔。

3333_副本.jpg

《双面暴君:隋炀帝的生平、时代及真相》新书亮相。

在史书和影视剧中,隋炀帝杨广,是个十恶不赦的暴君。他好色荒淫,弑兄奸母,残害忠良。他残暴无比,一生发动战争、建造大工程20多次,动用全国70%的人力,无论男女都要上阵,弄得民不聊生。可这样一个充满争议的皇帝,却率领51万大军南下,平定了陈朝,结束了数百年的战乱,重新统一中国。在位14年,他开凿了贯通南北的大运河,修建了洛阳城,修治长城,开创科举制……每一件事单独拎出来,都能让他名垂青史。

可为什么1400多年来,无论正史还是野史,对这位皇帝的记载都充斥着荒唐事?隋炀帝真如历史上评述的那样荒淫无度吗?他到底是一个怎样的人?在他的人生履历里,到底有多少功业?又有多少失败?唐朝人写的《隋书》,对他的评价真的客观吗?隋炀帝杨广的暴君形象背后,到底隐藏了什么?为什么说他与明君李世民只有一线之隔?知名隋唐史学者胡戟著述《双面暴君:隋炀帝的生平、时代及真相》,颠覆性解读中国历史上争议最大的皇帝,揭秘一个完全不一样的杨广。

640111_副本.jpg

《双面暴君:隋炀帝的生平、时代及真相》 内页。

胡戟研究隋唐史几十年,出过多部历史著作。在这本书里,他以史学家的良心和深厚的研究功力,抛开偏见,严格辨析史料。他参考了《资治通鉴》《隋书》《南史》等多部典籍,为我们还原真实的隋炀帝和“流星王朝”隋朝的百态。

在书中,胡戟肯定隋炀帝在军事、政治、外交、文化、经济等各方面的举措和成绩,以严谨细腻的笔触重绘他从继承大统、造就隋王朝的极盛到迅速败亡的人生轨迹,重新审视隋炀帝的生平、他所生活的时代及留给后世的遗产,辨析隋炀帝荒淫无耻的形象是如何被塑造出来的,立体呈现这个“暴君”的多个侧面和时代真相,向读者展现了历史的复杂和吊诡以及作者敢于、善于质疑历史记述的勇气和智慧。

全书以时间为顺序,以事件为纲目,记录了隋炀帝杨广的一生。从皇子到皇帝,登上皇位的来龙去脉;被人忽视的参与平陈之战的细节,在政治、军事、经济、教育、宗教等方面的举措;还有隋朝最终的覆亡之路:农民起义爆发、李渊袭取长安的过程……

全书以事实为依据,用犀利的笔法,为我们最大限度复原或者构建了一个立体的、只存在了38年的“流星王朝”。也从情、理、事等不同方面入手,还原一个真实的隋炀帝。站在公正的角度,把隋炀帝的功与过摊开,让读者自己来评判。读完之后,你会发现,真实的隋炀帝,与小说、电影里塑造的,完全不一样。

微信图片_20240705144743_副本.jpg

《双面暴君:隋炀帝的生平、时代及真相》插图。

隋朝,本应该是中国历史上的一个奇迹。从一统华夏到暴政亡国,最受争议的隋炀帝,如何将一副好牌打得稀烂?事实上,辉煌的政绩背后,隐藏着杨广残暴不仁、好大喜功的本性。隋炀帝在位之时,滥杀朝臣,穷兵黩武,劳民伤财。他的残暴,也反映在对待亲人方面。看看隋炀帝的一生,就足以警醒世人应该如何修身、修心、修德。

古代水战是怎么打的?太子杨勇被废,杨广取而代之,独孤皇后在其中扮演了什么角色?杨广是怎样在血腥中登基的?为什么隋炀帝一定要灭了高丽?为了巡狩北方,杨广建了怎样一座“能行走的宫殿”?隋朝是怎样一步步走向灭亡的?……像这样刷新认知的史实,书中比比皆是。本书还特别收录了大量的示意图、路线图、器物图片,辅助读者加深对历史空间的认知。

来源:红网

作者: 蔡娟 谢一帆

编辑:张云帆

本文为湖南频道原创文章,转载请附上原文出处链接和本声明。

本文链接:https://hn.rednet.cn/content/646841/97/14073147.html

FreeMarker template error (DEBUG mode; use RETHROW in production!): No error description was specified for this error; low-level message: feign.FeignException$InternalServerError: [500] during [GET] to [http://site-ms/site/feign/76] [SiteServiceFeignClient#getSiteByIdForFeign(int)]: [{"error":"系统异常,请联系管理员!"}] ---- FTL stack trace ("~" means nesting-related): - Failed at: @_site siteId="76" pageId="1705" [in template "site_76//template/content/_right.html" at line 11, column 5] ---- Java stack trace (for programmers): ---- freemarker.template.TemplateException: [... Exception message was already printed; see it above ...] at cn.rednet.redcloud.template.freemarker.base.impl.BaseTemplateDirective.execute(BaseTemplateDirective.java:31) at freemarker.core.Environment.visit(Environment.java:452) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:102) at freemarker.core.Environment.visit(Environment.java:335) at freemarker.core.Environment.visit(Environment.java:341) at freemarker.core.Environment.process(Environment.java:314) at freemarker.template.Template.process(Template.java:383) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService.generateFileByFile(TemplateFileService.java:737) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService.generateStaticFileForTemplatePage(TemplateFileService.java:219) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService$$FastClassBySpringCGLIB$$48aa813.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService$$EnhancerBySpringCGLIB$$1f71f15f.generateStaticFileForTemplatePage() at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl.saveAndPublishTemplatePage(TemplatePageServiceImpl.java:315) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl.saveAndPublishIndex(TemplatePageServiceImpl.java:600) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl$$FastClassBySpringCGLIB$$92d4ea80.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl$$EnhancerBySpringCGLIB$$1e19b445.saveAndPublishIndex() at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.lambda$generateHtml$0(RightSidePageStaticJob.java:82) at java.util.ArrayList.forEach(ArrayList.java:1257) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.generateHtml(RightSidePageStaticJob.java:79) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.generate(RightSidePageStaticJob.java:66) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.execute(RightSidePageStaticJob.java:49) at com.xxl.job.core.thread.JobThread.run(JobThread.java:152) Caused by: feign.FeignException$InternalServerError: [500] during [GET] to [http://site-ms/site/feign/76] [SiteServiceFeignClient#getSiteByIdForFeign(int)]: [{"error":"系统异常,请联系管理员!"}] at feign.FeignException.serverErrorStatus(FeignException.java:250) at feign.FeignException.errorStatus(FeignException.java:197) at feign.FeignException.errorStatus(FeignException.java:185) at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:92) at feign.AsyncResponseHandler.handleResponse(AsyncResponseHandler.java:98) at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:141) at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:91) at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100) at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory$1.proceed(FeignCachingInvocationHandlerFactory.java:66) at org.springframework.cache.interceptor.CacheInterceptor.lambda$invoke$0(CacheInterceptor.java:54) at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:351) at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory.lambda$create$1(FeignCachingInvocationHandlerFactory.java:53) at com.sun.proxy.$Proxy207.getSiteByIdForFeign(Unknown Source) at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) at com.sun.proxy.$Proxy208.getSiteByIdForFeign(Unknown Source) at cn.rednet.redcloud.template.freemarker.directive.SiteDirective.execute(SiteDirective.java:33) at cn.rednet.redcloud.template.freemarker.base.impl.BaseTemplateDirective.execute(BaseTemplateDirective.java:27) ... 61 more

阅读下一篇

返回红网首页 返回湖南频道首页