您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > SpringBoot学习总结
SpringBoot区别Springboot是springMVC的升级版,两者没有必然联系,可直接学习springBoot,springBoot是伴随着Spring4.0诞生的SpringBoot的特点1.化繁为简,简化配置2.备受关注,是下一代框架3.微服务的入门级框架(微服务是当下比较流行的架构spring为微服务架构提供了一整套组件,统称为SrpingCloud,,springcloud是建立在springBoot的基础之上的)4.使编码变得简单,使配置变得简单,使部署变得简单,使监控变得简单程序配置引入jar包dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--maven打war包需要,springboot的jsp项目必须是war项目,jar项目不支持jsp--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactIdscopeprovided/scope/dependencydependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-jasper/artifactIdscopeprovided/scope/dependency启动类上班必须有@SpringBootApplication注解,controller类要加@RestController注解,方法上配置@RequestMaping注解@SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}注解与模板讲解:@Controller注解:处理http请求@RestController注解:Spring4之后新加的注解,等同于返回json注解的@ResponseBody+controller注解的组合注解@RequestMapping注解:配置url配置@PathVariable获取url中的数据@RequestParam获取请求参数的值如果仅仅使用@Controller,返回的字符串就是页面的名称,需要加入srping官方的模板引擎,在pom.xml中配置,dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId/dependency属性配置application.properties为springboot的默认配置文件,可配置端口server.port=8081可配置项目路径server.context-path=/gril,访问路径时的路径就变成localhost:8081/gril/controller名称application.yml文件是springboot的另一种配置文件,这种文件可以减少重复值(推荐,注意:冒号后要加空格)server:port:8080context-path:/gril在yml文件中自定义属性时,在controller中使用@Value(“${gril}”)yml:gril:liuyandengcontroller:@Value(“${gril}”)privateStringgril;(配置文件中部分类型,如果是数字类型可以写成privateintegerlyd;)属性映射到beangril:name:liuyandengage:25创建Gril.java的java文件,类上加@Component和@ConfigurationProperties(prefix=gril),创建privateStringname;和privateIntegerage;属性创建get和set方法,获取配置文件前缀是gril的配置映射到javabean属性中,在controller中注入这个bean@AutowiredGirlgril;如果有多个配置文件比如application.yml,application-A.yml和application-B.yml,如果想使用B配置文件,可在application.yml文件中配置spring:profiles:active:B数据库操作server:port:8080spring:thymeleaf:prefix:/WEB-INF/views/suffix:.htmlmode:HTML5encoding:UTF-8content-type:text/htmlcache:falsedatasource:name:testurl:jdbc:mysql://localhost:3306/cgfy-springBoot?useUnicode=true&characterEncoding=UTF-8username:rootpassword:123456#使用druid数据源type:com.alibaba.druid.pool.DruidDataSourcedriver-class-name:com.mysql.jdbc.DriverminIdle:1maxActive:20initialSize:1timeBetweenEvictionRunsMillis:3000minEvictableIdleTimeMillis:300000testWhileIdle:truetestOnBorrow:falsetestOnReturn:falsemybatis:mapperLocations:classpath*:mapper/*.xmltypeAliasesPackage:com.jeff.modelJAP(JavaPersistenceAPI)定义了一系列对象持久化的标准,目前实现这一规范的产品有hibernate,toplink等SpringBoot中使用Swagger2构建强大的RESTfulAPI文档由于SpringBoot能够快速开发、便捷部署等特性,相信有很大一部分SpringBoot的用户会用来构建RESTfulAPI。而我们构建RESTfulAPI的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。这样一来,我们的RESTfulAPI就有可能要面对多个开发人员或多个开发团队:IOS开发、Android开发或是Web开发等。为了减少与其他团队平时开发期间的频繁沟通成本,传统做法我们会创建一份RESTfulAPI文档来记录所有接口细节,然而这样的做法有以下几个问题:由于接口众多,并且细节复杂(需要考虑不同的HTTP请求类型、HTTP头部信息、HTTP请求内容等),高质量地创建这份文档本身就是件非常吃力的事,下游的抱怨声不绝于耳。随着时间推移,不断修改接口实现的时候都必须同步修改接口文档,而文档与代码又处于两个不同的媒介,除非有严格的管理机制,不然很容易导致不一致现象。为了解决上面这样的问题,本文将介绍RESTfulAPI的重磅好伙伴Swagger2,它可以轻松的整合到SpringBoot中,并与SpringMVC程序配合组织出强大RESTfulAPI文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试每个RESTfulAPI。具体效果如下图所示:下面来具体介绍,如果在SpringBoot中使用Swagger2。首先,我们需要一个SpringBoot实现的RESTfulAPI工程添加Swagger2依赖在pom.xml中加入Swagger2的依赖dependency\groupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.2.2/version/dependencydependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.2.2/version/dependency创建Swagger2配置类在Application.java同级创建Swagger2的配置类Swagger2。@Configuration@EnableSwagger2publicclassSwagger2{@BeanpublicDocketcreateRestApi(){returnnewDocket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage(com.didispace.web)).paths(PathSelectors.any()).build();}privateApiInfoapiInfo(){returnnewApiInfoBuilder().title(SpringBoot中使用Swagger2构建RESTfulAPIs).description(更多SpringBoot相关文章请关注:).termsOfServiceUrl().contact(程序猿DD).version(1.0).build();}}如上代码所示,通过@Configuration注解,让Spring来加载该类配置。再通过@EnableSwagger2注解来启用Swagger2。再通过createRestApi函数创建Docket的Bean之后,apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中)。select()函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Controller定义的API,并产生文档内容(除了被@ApiIgnore指定的请求)。添加文档内容在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。如下所示,我们通过@ApiOperation注解来给API增加说明、通过@ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明。@RestController@RequestMapping(value=/users)//通过这里配置使下面的映射都在/users下,可去除publicclassUserController{staticMapLong,Userusers=Collections.synchronizedMap(newHashMapLong,User());@ApiOperation(value=获取用户列表,notes=)@RequestMapping(value={},method=RequestMethod.GET)publicListUsergetUse
本文标题:SpringBoot学习总结
链接地址:https://www.777doc.com/doc-4353748 .html