黑马程序员合肥中心编著【黑马程序员】springboot入门什么是springbootSpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是springboot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,springboot整合了所有的框架(不知道这样比喻是否合适)。使用springboot有什么好处其实就是简单、快速、方便!平时如果我们需要搭建一个springweb项目的时候需要怎么做呢?1)配置web.xml,加载spring和springmvc2)配置数据库连接、配置spring事务3)配置加载配置文件的读取,开启注解4)配置日志文件...配置完成之后部署tomcat调试...现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍!但是如果使用springboot呢?很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web黑马程序员合肥中心编著项目或者是构建一个微服务!使用spingboot到底有多爽,用下面这幅图来表达快速入门说了那么多,手痒痒的很,马上来一发试试!maven构建项目1、访问、选择构建工具MavenProject、SpringBoot版本1.3.6以及一些工程基本信息,点击“Switchtothefullversion.”java版本选择1.7,可参考下图所示:3、点击GenerateProject下载项目压缩包4、解压后,使用eclipse,Import-ExistingMavenProjects-Next-选择解压后的文件夹-Finsh,OKdone!项目结构介绍黑马程序员合肥中心编著如上图所示,SpringBoot的基础结构共三个文件:lsrc/main/java程序开发以及主程序入口lsrc/main/resources配置文件lsrc/test/java测试程序另外,spingboot建议的目录结果如下:rootpackage结构:com.example.myproject[AppleScript]纯文本查看复制代码?黑马程序员合肥中心编著010203040506070809101112131415com+-example+-myproject+-Application.java|+-domain|+-Customer.java|+-CustomerRepository.java|+-service|+-CustomerService.java|+-controller|+-CustomerController.java|1、Application.java建议放到跟目录下面,主要用于做一些框架配置2、domain目录主要用于实体(Entity)与数据访问层(Repository)3、service层主要是业务类代码4、controller负责页面访问控制采用默认配置可以省去很多配置,当然也可以根据自己的喜欢来进行更改最后,启动Applicationmain方法,至此一个java项目搭建好了!引入web模块1、pom.xml中添加支持web的模块:[AppleScript]纯文本查看复制代码?1234dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencypom.xml文件中默认有两个模块:spring-boot-starter:核心模块,包括自动配置支持、日志和YAML;黑马程序员合肥中心编著spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito。2、编写controller内容[AppleScript]纯文本查看复制代码?1234567@RestControllerpublicclassHelloWorldController{@RequestMapping(/hello)publicStringindex(){returnHelloWorld;}}@RestController的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了!3、启动主程序,打开浏览器访问,就可以看到效果了,有木有很简单!如何做单元测试打开的src/test/下的测试入口,编写简单的http请求来测试;使用mockmvc进行,利用MockMvcResultHandlers.print()打印出执行结果。[AppleScript]纯文本查看复制代码?0102030405060708091011121314@RunWith(SpringRunner.class)@SpringBootTestpublicclassHelloWorldControlerTests{privateMockMvcmvc;@BeforepublicvoidsetUp()throwsException{mvc=MockMvcBuilders.standaloneSetup(newHelloWorldController()).build();}@TestpublicvoidgetHello()throwsException{mvc.perform(MockMvcRequestBuilders.get(/hello).accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.status().isOk()).andDo(MockMvcResultHandlers.print()).andReturn();}黑马程序员合肥中心编著15}开发环境的调试热启动在正常开发项目中已经很常见了吧,虽然平时开发web项目过程中,改动项目启重启总是报错;但springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:[AppleScript]纯文本查看复制代码?01020304050607080910111213141516171819dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdoptionaltrue/optional/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationforktrue/fork/configuration/plugin/plugins[/size][/font][font=微软雅黑][size=3]/build黑马程序员合肥中心编著该模块在完整的打包环境下运行的时候会被禁用。如果你使用java-jar启动应用或者用一个特定的classloader启动,它会认为这是一个“生产环境”。总结使用springboot可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用spingboot非常适合构建微服务。