springboot入门1
11月15日 先锋客投稿 1。什么是SpringBoot
JavaEE开发中,约定大于配置,即系统,类库,框架应该假定合理的默认值,而非要求提供不必要的配置;而目前Spring或SpringMVC需要进行大量繁琐的配置,鉴于这种情况SpringBoot应运而生。
SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。
SpringBoot并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。
SpringBoot使用的注解大都来源Spring注解,所以可以让Spring开发者零适应过渡到SpringBoot
以上的这个图比较有意思,即开发者从一个微小的入口就能开启spring的大门2。SpringBoot的特点快速创建独立运行的Spring项目以及与主流框架集成内嵌的Servlet容器,如Tomcat,jetty,应用无需打成WAR包starters自动依赖与版本控制大量的自动配置,简化开发,也可修改默认值无需配置XML,无代码生成,开箱即用准生产环境的运行时应用监控3。准备开发环境Java8idea2022。2。2maven3。8。3springboot2。5。5ideamaven环境
4。开发第一个SpringBoot应用
需求说明:在浏览器输入http:localhost:8080hello返回hellospringboot4。1创建springboot环境步骤1:
步骤2:
步骤3
执行以上步骤后,idea会自动创建一个项目,简单介绍一下4。2项目目录结构介绍
4。3项目入口类
4。3pom。xml
4。4创建controller
4。5启动springboot
4。6访问项目
展示效果,在浏览器输入
4。7创建springboot的另一种方式
以上方式,由于网络问题,可能会创建失败,使用下面的创建方式比较稳妥第一步
第二步:
pom。xml增加一下内容parentgroupIdorg。springframework。bootgroupIdspringbootstarterparentartifactIdversion2。6。11versionrelativePathparentpropertiesmaven。compiler。source8maven。compiler。sourcemaven。compiler。target8maven。compiler。targetproject。build。sourceEncodingUTF8project。build。sourceEncodingpropertiesdependenciesdependencygroupIdorg。springframework。bootgroupIdspringbootstarterwebartifactIddependencydependencygroupIdorg。projectlombokgroupIdlombokartifactIdoptionaltrueoptionaldependencydependencies第三步:
创建启动类SpringBootApplicationpublicclassAppRun{publicstaticvoidmain(String〔〕args){SpringApplication。run(AppRun。class,args);}}5。项目如何打包5。1pom中已经添加了maven插件
5。2执行打包
5。3拷贝jar部署
把以上的jar拷贝到你想部署的服务器即可5。4执行jar
比如,我们把以上的jar拷贝到了电脑桌面,执行一下命令即可运行
6。SpringBoot启动原理探究6。1pom。xml父项目parentgroupIdorg。springframework。bootgroupIdspringbootstarterparentartifactIdversion2。5。5versionrelativePath!lookupparentfromrepositoryparent
该父项目中又依赖了parentgroupIdorg。springframework。bootgroupIdspringbootdependenciesartifactIdversion2。5。5versionparent
在springbootdependencies中定义了相当多的jar的依赖管理信息,比如,(篇幅有限,只列出一部分)dependencyManagementdependenciesdependencygroupIdorg。apache。activemqgroupIdactivemqamqpartifactIdversion{activemq。version}versiondependencydependencygroupIdorg。apache。activemqgroupIdactivemqblueprintartifactIdversion{activemq。version}versiondependency
这样一来,我们开发的项目中,依赖jar版本就被springboot的管理了。具体的结构如下
6。2依赖starterdependencygroupIdorg。springframework。bootgroupIdspringbootstarterwebartifactIddependency
springbootstarter:称作spring场景启动器。比如springbootstarterweb该启动器中就包含了web所需要的jar,我们只需要依赖springbootstarterweb,相当于就导入web需要依赖的jar
SpringBoot将所有的功能场景都抽取出来,做成对应的starters(启动器),只需要在项目里面引入这些starter
相关场景的所有依赖都会导入进来。6。3主程序入口类SpringBootApplicationpublicclassSpringboot01Application{publicstaticvoidmain(String〔〕args){SpringApplication。run(Springboot01Application。class,args);}}
SpringBootApplication:该注解标注到哪个类上,说明这个类是SpringBoot的主配置类,SpringBoot
就应该运行这个类的main方法来启动SpringBoot应用;该注解是个组合注解,我们按ctrl点击进入Target({ElementType。TYPE})Retention(RetentionPolicy。RUNTIME)DocumentedInheritedSpringBootConfigurationEnableAutoConfigurationComponentScan(excludeFilters{Filter(typeFilterType。CUSTOM,classes{TypeExcludeFilter。class}),Filter(typeFilterType。CUSTOM,classes{AutoConfigurationExcludeFilter。class})})publicinterfaceSpringBootApplication{SpringBootConfiguration:spring的配置类EnableAutoConfiguration:开启spring的自动注解配置7。配置文件7。1配置文件的作用
配置文件的作用:修改SpringBoot自动配置的默认值
SpringBoot使用一个全局的配置文件并且配置文件名是固定的application。propertiesapplication。yml
两个选其一,如果两个同时存在切配置的内容一致则以application。properties主
yml:全称是YAML(YAMLAintMarkupLanguage)是一个标记语言
比如,我们要改变tomcat的端口号,就可以在application。yml中这样设置server:port:8081
如果使用application。properties则这样设置server。port80817。2SpringBoot多环境配置
我们在开发SpringBoot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误的事。
在SpringBoot中多环境配置文件名需要满足
application{profile}。properties的格式【重点】。applicationdev。properties:开发环境applicationtest。properties:测试环境applicationprod。properties:生产环境
当项目启动时,会读取application。properties,打包前在此文件中激活即可spring。profiles。activeprod激活生产环境8整合test
单元测试8。1添加依赖dependencygroupIdorg。springframework。bootgroupIdspringbootstartertestartifactIdscopetestscopedependency8。2例子
9。整合日志
SpringBoot为JavaUtilLogging,Log4J2和Logback提供了默认配置。每个日志框架,都默认配置了控制台输出,并且还提供了日志文件输出功能,如果你使用SpringBoot的Starters,那么默认使用的日志框架是Logback9。1日志级别
日志级别从低到高依次是:TRACEDEBUGINFOWARNERRORFATAL。9。2通用配置?xmlversion1。0encodingUTF8?configurationencoderpattern!〔CDATA〔n〔d{yyyyMMddHH:mm:ss。SSS}〕〔level:p〕〔Thread:t〕〔Class:cMethod:M:L〕np:mn〕〕patternencoderappenderencoderpattern!〔CDATA〔n〔d{yyyyMMddHH:mm:ss。SSS}〕〔level:p〕〔Thread:t〕〔Class:cMethod:M:L〕np:mn〕〕patternencoderfilelogsrbac。logfilerollingPolicyclassch。qos。logback。core。rolling。SizeAndTimeBasedRollingPolicyfileNamePatternlogssportsweb。d{yyyyMMdd}。i。logfileNamePattern!每天一个ahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志a文件,当天的ahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志a文件超过10MB时,生成新的ahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志a文件,当天的ahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志a文件数量超过totalSizeCapmaxFileSize,ahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志a文件就会被回滚覆盖。maxFileSize10MBmaxFileSizemaxHistory30maxHistorytotalSizeCap10GBtotalSizeCaprollingPolicyappenderloggernamecom。boboleveldebugadditivityfalse!loggerrootlevelINFOrootconfiguration9。3日志案例我们只需要在resource下创建logback的配置文件即可
调用
激情的LPL转会期即将结束,各大战队招兵买马,全神班正在加载近日随着LPL转会期接近尾声,各大战队也开始陆陆续续通过官宣或者通过一些知情人士的透露,慢慢的开始显现各自的选手整容,其中最受观众关注的莫过于改名后的WBG战队和据说要打造全神……
T0野王陨落?回血效果砍成0,14次削弱后终于退出时代舞台Part1出装铭文都要改动的澜朋友澜这次调整后,出装铭文也得随之做出改动。铭文正式服的蓝色铭文一般都借助10隐匿,来扩大澜一技能的移速优势和增加物理攻击。……
世行下调印度经济增长预期近年来,印度国内政治局势相对稳定,不仅给印度带来了较为稳定的国内社会经济发展环境,更为印度政府推行经济改革争取到了时间与空间。然而,高通胀、制造业发展迟缓等问题仍严重影响其经济……
4月三款无差评旗舰推荐,麒麟9000,A15,骁龙8各一部大家好,我是三月。不知道从什么时候起,旗舰手机就成为了手机界的扛把子,更多人在选择手机的手机会去考虑旗舰手机,一是旗舰手机会采用当前这个时刻最好处理器,最好的配置,最新的……
江西这位90后小伙火了北京冬奥会开幕式宛如大型羽绒服种草现场不仅各国队员的队服引发关注3000名演员在节目中穿着的演出服更是充满设计亮点与中国文化深意那你知道吗?……
巴厘岛游记系列来巴厘岛做土豪罗疫情前那个寒假,我在同程网上报了个半自助游的巴厘岛产品,1280元,包双飞,包食宿。〔呲牙〕大家可能以为一定是很糟糕的行程,嘿,那你就错了,因为来这是做土豪的!广州……
springboot入门11。什么是SpringBootJavaEE开发中,约定大于配置,即系统,类库,框架应该假定合理的默认值,而非要求提供不必要的配置;而目前Spring或SpringMVC需……
活久见!在球鞋店里1vs1打篮球前几天看到个视频,挺有意思的,分享给大家伙看看。有个白人小哥在一个球鞋买手店做活动,谁能单挑打赢他,可以在买手店里免费任选一双球鞋。先介绍一下这个白人小哥,他叫Tr……
地平线西之绝境新实机演示埃洛伊战机械巨蟒近日,外媒GameInformer放出了一段《地平线西之绝境》Boss战实机演示,虽然只有不到30秒,但展示了埃洛伊与强大的机械巨蛇BOSSSlitherfang的精彩对决。……
NASA将在9月3日重新发射登月火箭专家称天气异常的可能性为据美媒8月30日报道,美国国家航空航天局(NASA)将于9月3日重新发射阿尔忒弥斯1号火箭。两个小时的发射窗口将在美国东部时间9月3日下午2点17分开启(北京时间9月4日凌晨2……
全国体操锦标赛广东女团六连冠新华社杭州9月5日电(记者卢羽晨、夏亮、季嘉东)2022年全国体操锦标赛5日进入第二个比赛日,在女子资格赛暨团体决赛中,广东队连续六年夺得女团冠军,浙江和安徽队分获亚军和季军。……
黑色大衣,永不过时的高级!嗨,各位小仙女们,大家好呀!很多女生到了新的一个季节,总会抱怨自己没有衣服可以穿,其实,这都是因为自己衣橱里的衣服看腻和穿腻了才会这么说。实际上,这就是一种穿搭焦虑和困惑……
年中国平板电脑出货量万台产能下降站长之家(ChinaZ。com)5月25日消息:今日,国际数据公司(IDC)发布了2020年第一季度中国平板电脑市场报告,报告显示,2020年第一季度中国平板电脑市场出货量约3……
泡菜是什么菌发酵的乳酸菌发酵而成很有风味泡菜主要是乳酸菌发酵而成的一种菜,人们一般用白菜黄瓜萝卜等材料制作泡菜,假如制作得当味道会很鲜美诱人。不过泡菜因为特别的制作过程是不能吃太多的,吃太多对身体不好。泡菜是怎……
如何按照脸型选刘海发型修颜刘海打造完美脸型长形脸长形脸的MM们可以选择有弯度的刘海,利用刘海来修饰额头的线条,不要修复太服帖,稍微松一点儿,且要有一个弯度,给头发增加一点空气感。另外,不要剪掉刘海部分头发的分量,……
乐在其中记成长中的中心小学乐在其中记成长中的乐土中心小学乐土中心小学始建于1948年,所辖村小12所,教师232名。学校本部拥有教学班31个,教师70名,学生1932名。学校一直坚持先进的办……
甘甜造句用甘甜造句大全121。微笑犹如一口甘甜的泉水,让你知道生活的滋味。微笑犹如迷路时的针向标,让你走出困境。微笑在生活中给我们带来了很大的帮助。122。节约一度电,为未来攒得一分光明;节约……
以下哪种烹饪方式有助于保留紫薯中的花青素?支付宝蚂蚁庄园3月小鸡宝宝考考你!2023年3月24日支付宝蚂蚁庄园小课堂今日问题是:1、小鸡宝宝考考你:为什么蜻蜓会点水?2、以下哪种烹饪方式有助于保留紫薯中的花青素?答对既可以获得小鸡饲料,……
一起来雪峰罗汉台,看云海和杜鹃的心动邂逅!大名鼎鼎的雪峰24景最负盛名的或许要属罗汉台罗汉台的四季风光最值得期待的要属杜鹃盛开的春天而当罗汉台的杜鹃邂逅日出云海那更有一种锦上添花的震撼之美……
目前散热最好的3款手机,耗电少性能够,不怕热,最低只要164您在阅读前请点击上面的关注二字,后续会为您提供更多有价值的相关内容,感谢您的支持。现在炎热的夏天,空气温度都达到三十几度,甚至一些地方温度可以达到40摄氏度,这个时候,手……
少有人走的路读书笔记《少有人走的路》是一本通俗的心理学著作,共分为四个部分:自律、爱、承载与宗教、神奇的力量。其中以爱为中心,书中告诉我们什么是爱的本质,帮助我们学习爱,也学习独立;告……
贾玲又胖了!体重超200斤胖到快流油,脸严重变形让人不敢认娱评大赏12月13日,有网友晒出贾玲的最新动态,表示贾玲目前正在拍戏,但引人注意的是她的体型,因为她又胖了,而且再次胖出新高度,如果不是拍摄者说视频中的是贾玲,简直就认不……
长寿妙招老年人家庭保健按摩保健按摩是用自己的双手在身体某些部位或穴位上进行揉搓、捏拿、拍打,以促进血液循环,改善消化功能,强壮筋骨,提高抗病能力。这种按摩简单易学,使用方便,适合于家庭保健,老年人如能每……
山水田园诗的代表诗人有哪些代表作品有什么说到山水田园诗,小编的第一反应就是王维的,采菊东篱下,悠然见南山至今还回荡在耳边。其实山水田远派的诗人不仅仅只有他一个,今天就让我们一起来了解一下其他的山水田园诗人吧。山……