当前位置: 首页 > news >正文

站长工具ping检测网站外链分析工具

站长工具ping检测,网站外链分析工具,陵川网站建设,营销技巧第二季目录 一,SpringBoot简介1.1,回顾什么是Spring1.2,Spring是如何简化Java开发的1.3,什么是SpringBoot 二,Hello,World2.1,准备工作2.2,创建基础项目说明2.3,创建第一个Hell…

目录

  • 一,SpringBoot简介
    • 1.1,回顾什么是Spring
    • 1.2,Spring是如何简化Java开发的
    • 1.3,什么是SpringBoot
  • 二,Hello,World
    • 2.1,准备工作
    • 2.2,创建基础项目说明
    • 2.3,创建第一个Hello,SpringBoot程序
  • 三,HTTP接口get请求
    • 3.1,restful协议,从路径中获取参数 @PathVariable
    • 3.2,参数默认设置 @RequestParam
    • 3.3,bean对象传值(数据从body中获取) @RequestBody
    • 3.4,获取http请求头信息,例如获取token @RequestHeader
  • 四,常用json框架介绍和jackson返回结果处理
    • 4.1,springboot统一返回封装
  • 最后

一,SpringBoot简介

1.1,回顾什么是Spring

Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。
Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。

1.2,Spring是如何简化Java开发的

为了降低Java开发的复杂性,Spring采用了以下4种关键策略:

1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
2、通过IOC,依赖注入(DI)和面向接口实现松耦合;
3、基于切面(AOP)和惯例进行声明式编程;
4、通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;

1.3,什么是SpringBoot

Spring Boot是由Pivotal团队提供的基于Spring的框架,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot集成了绝大部分目前流行的开发框架,就像Maven集成了所有的JAR包一样,Spring Boot集成了几乎所有的框架,使得开发者能快速搭建Spring项目。

Spring Boot的主要优点:
为所有Spring开发者更快的入门
开箱即用,提供各种默认配置来简化项目配置
内嵌式容器简化Web项目
没有冗余代码生成和XML配置的要求

二,Hello,World

2.1,准备工作

我们将学习如何快速的创建一个Spring Boot应用,并且实现一个简单的Http请求处理。通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。

我的环境准备:
依赖版本jdk1.8以上
Maven-3.2以上
SpringBoot 2.x

开发工具:
IDEA

2.2,创建基础项目说明

1.首先创建一个maven工程
2.在maven的pom文件中添加Springboot的父工程和对应的依赖

在这里插入图片描述
在这里插入图片描述

这样一个maven工程就创建好了!
然后在pom文件中添加Springboot的父工程和对应的依赖

    <!--  继承默认值为Spring Boot  --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.1.RELEASE</version></parent><dependencies><!--    导入Springweb的依赖    --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

在这里插入图片描述

2.3,创建第一个Hello,SpringBoot程序

1.把启动类放到顶级目录
2.常用注解
启动类注解
@SpringBootApplication是一个复合型注解。@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
@Configuration:@Configuration标注在类上,相当于把该类作为spring的xml配置文件中 (beans ),作用为:配置spring容器(应用上下文)
@EnableAutoConfiguration:开启自动配置。MATA-INF下的spring.facotries的一些自动配置类
@ComponentScan:扫描注解。如果不配置basepackage,默认扫描@ComponentScan注解类的同级类和子目录下的所有类。所以要把启动类放到顶级目录。
控制层注解
@RestController and @RequestMapping是springMVC的注解,不是springboot特有的
@RestController = @Controller + @ResponseBody

在这里插入图片描述
HelloController类

package com.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController // 控制类
public class HelloController {@RequestMapping("/")public String sayHello(){return "hello,SpringBoot!!";}
}

在外面创建一个springboot的启动类
在这里插入图片描述
DemoApplication启动类

package com.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;// @SpringBootApplication是一个复合型注解,通常情况下,我们会把启动类放到项目的顶级目录
// 注意:SpringBootApplication中的 @ComponentScan 会默认扫描本类所在包以下的子包
@SpringBootApplication 
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class,args);}
}

运行成功,如下:

在这里插入图片描述

三,HTTP接口get请求

3.1,restful协议,从路径中获取参数 @PathVariable

    /*** 功能描述: restful 协议。从路径中获取参数* 1.接口中的参数定义,建议使用下划线隔开,不再使用驼峰* 2.path="/{cityid}/{userid}" 标识路径中那些是参数* 3.method=RequestMethod.GET 只处理get请求* 4.@PathVariable("cityid") 从路径中取出参数值* @return* */@RequestMapping("/{cityid}/{userid}")public Object test1(@PathVariable("cityid") String cityId,@PathVariable("userid") String userId){return cityId + "--" + userId;}

在这里插入图片描述

3.2,参数默认设置 @RequestParam

    /**** 参数的默认值设置* 添加@RequestParam 默认此参数是必填项* @return* **/@RequestMapping("/test2")public Object test2(@RequestParam(required = false,defaultValue = "1") Integer pageNo){return pageNo;}

在这里插入图片描述

上面显示的是默认值,如果你给他赋值,之后那个赋的值就会替代默认值,如下:

在这里插入图片描述

3.3,bean对象传值(数据从body中获取) @RequestBody

    /**** 测试@RequestBody。要从请求体中获取数据* 有如下结果* 1.数据要在请求体中。* 2.数据的格式为JSON。content-type 的值是application/json* 3.只有post请求才允许在body中设置数据* **/@RequestMapping("/test3")public Object test3(@RequestBody Person person){return person.getUserId() + "-----" + person.getAge();}

在这里插入图片描述

3.4,获取http请求头信息,例如获取token @RequestHeader

    /*** 从请求头获取数据* 一般请求头中获取一些认证信息,例如token* **/@RequestMapping("/test4")public Object test4(@RequestHeader String access_token){return access_token;}

在这里插入图片描述

四,常用json框架介绍和jackson返回结果处理

简介:介绍常用json框架和注解的使用,自定义返回json结构和格式

  1. 常用框架 阿里 fastjson 谷歌gosn等
    javaBean序列化为json 性能:Jackson > FastJson > Gson > Json-lib 同个结构
    Jackson,FastJson ,Gson 类库各有优点,各有各自的专长
    空间换时间,时间换空间

2.Jackson处理相关自动
指定字段不返回:@JsonIgnore
指定日期格式: @JsonFormat(pattern=“yyyy-MM-dd hh:mm:ss”, locale=“zh”, timezone=“GMT+8”)
空字符串不返回:@JsonInclude(JsonInclude.Include.NON_NULL)
指定别名:@JsonProperty 注意:使用别名后,请求中的Key也要使用别名

4.1,springboot统一返回封装

创建一个util包

在这里插入图片描述
然后创建一个ResultUtil工具类

package com.demo.util;import lombok.Data;import java.io.Serializable;@Data
public class ResultUtil<T> implements Serializable {public static final Integer SUCCESS_CODE = 2000;public static final Integer FAIL_CODE = 4000;public static final String SUCCESS_MESSAGE = "success";public static final String FAIL_MESSAGE = "fail";/*** 返回状态码*/private Integer code;/*** 返回信息*/private String message;/*** 返回数据*/private T data;private ResultUtil() {}public static <T> ResultUtil<T> success() {ResultUtil<T> resultUtil = new ResultUtil<>();resultUtil.setCode(SUCCESS_CODE);resultUtil.setMessage(SUCCESS_MESSAGE);return resultUtil;}public static <T> ResultUtil<T> success(T data) {ResultUtil<T> resultUtil = success();resultUtil.setData(data);return resultUtil;}public static <T> ResultUtil<T> success(String message, T data) {ResultUtil<T> resultUtil = success();resultUtil.setMessage(message);resultUtil.setData(data);return resultUtil;}public static <T> ResultUtil<T> success(Integer code, String message, T data) {ResultUtil<T> resultUtil = new ResultUtil<>();resultUtil.setCode(code);resultUtil.setMessage(message);resultUtil.setData(data);return resultUtil;}public static <T> ResultUtil<T> fail() {ResultUtil<T> resultUtil = new ResultUtil<>();resultUtil.setCode(FAIL_CODE);resultUtil.setMessage(FAIL_MESSAGE);return resultUtil;}public static <T> ResultUtil<T> fail(T data) {ResultUtil<T> resultUtil = fail();resultUtil.setData(data);return resultUtil;}public static <T> ResultUtil<T> fail(String message, T data) {ResultUtil<T> resultUtil = fail();resultUtil.setMessage(message);resultUtil.setData(data);return resultUtil;}public static <T> ResultUtil<T> fail(Integer code, String message) {ResultUtil<T> resultUtil = fail();resultUtil.setCode(code);resultUtil.setMessage(message);return resultUtil;}public static <T> ResultUtil<T> fail(Integer code, String message, T data) {ResultUtil<T> resultUtil = new ResultUtil<>();resultUtil.setCode(code);resultUtil.setMessage(message);resultUtil.setData(data);return resultUtil;}}

这种格式主要包含3部分:
1.code:状态码, 由后端统一定义各种返回结果的状态码 判断成功还是失败
2.message:描述信息 ,提示信息
3.data:返回的数据,例如列表数据

Person.java实体类修改一下不在需要get,set方法,但是得加上@Data

package com.demo.bean;import com.fasterxml.jackson.annotation.*;
import lombok.Data;import java.io.Serializable;
import java.util.regex.Pattern;@Data
public class Person implements Serializable {private String userId;private int age;}
    /**** 测试@RequestBody。要从请求体中获取数据* 有如下结果* 1.数据要在请求体中。* 2.数据的格式为JSON。content-type 的值是application/json* 3.只有post请求才允许在body中设置数据* **/@RequestMapping("/test3")public Object test3(@RequestBody Person person){return ResultUtil.success(person);}

结果如下:

在这里插入图片描述

这样写的前提下还要在pom中在加一个依赖

在这里插入图片描述

最后

送大家一句话:你大好青春,怕什么,只管向前跑


文章转载自:
http://dinncozoom.knnc.cn
http://dinncoromanticist.knnc.cn
http://dinncocarny.knnc.cn
http://dinncofalchion.knnc.cn
http://dinncobrilliance.knnc.cn
http://dinncoexcardination.knnc.cn
http://dinncokiamusze.knnc.cn
http://dinncoheave.knnc.cn
http://dinncobrassard.knnc.cn
http://dinncomonoacid.knnc.cn
http://dinncoindistributable.knnc.cn
http://dinncovoyeurist.knnc.cn
http://dinncoperiblast.knnc.cn
http://dinnconeedleful.knnc.cn
http://dinncokomodo.knnc.cn
http://dinncoelectrogasdynamics.knnc.cn
http://dinncophlebotomy.knnc.cn
http://dinncocappelletti.knnc.cn
http://dinncoclonic.knnc.cn
http://dinncosatang.knnc.cn
http://dinncothickie.knnc.cn
http://dinncoloimic.knnc.cn
http://dinncouncircumstantial.knnc.cn
http://dinncoacidifier.knnc.cn
http://dinncougrian.knnc.cn
http://dinncosection.knnc.cn
http://dinncodionysiac.knnc.cn
http://dinncojapanization.knnc.cn
http://dinncomononucleosis.knnc.cn
http://dinncobourgeoisie.knnc.cn
http://dinncodisbursable.knnc.cn
http://dinncosaltier.knnc.cn
http://dinncocomportment.knnc.cn
http://dinncocucaracha.knnc.cn
http://dinncowoke.knnc.cn
http://dinncocollodium.knnc.cn
http://dinncojacarta.knnc.cn
http://dinncochrist.knnc.cn
http://dinncouncomforting.knnc.cn
http://dinncokiri.knnc.cn
http://dinncorhythmocatechism.knnc.cn
http://dinncomoppet.knnc.cn
http://dinncononconform.knnc.cn
http://dinncocorydon.knnc.cn
http://dinncomonorhinic.knnc.cn
http://dinncocleanish.knnc.cn
http://dinncodouceur.knnc.cn
http://dinncosoli.knnc.cn
http://dinncoarc.knnc.cn
http://dinncocontadino.knnc.cn
http://dinncozombie.knnc.cn
http://dinncozincographic.knnc.cn
http://dinncozane.knnc.cn
http://dinncodecametre.knnc.cn
http://dinncotarboosh.knnc.cn
http://dinncoorang.knnc.cn
http://dinncosulfatase.knnc.cn
http://dinncoopprobrium.knnc.cn
http://dinncodisassimilation.knnc.cn
http://dinncocagey.knnc.cn
http://dinncopilulous.knnc.cn
http://dinncotameness.knnc.cn
http://dinncolancastrian.knnc.cn
http://dinncokalistrontite.knnc.cn
http://dinncoplantaginaceous.knnc.cn
http://dinncomonothematic.knnc.cn
http://dinncohorizon.knnc.cn
http://dinncoinfusorian.knnc.cn
http://dinncoobligatory.knnc.cn
http://dinncofibroadenoma.knnc.cn
http://dinncogeyserite.knnc.cn
http://dinncorhyparography.knnc.cn
http://dinncovictoriously.knnc.cn
http://dinncovividness.knnc.cn
http://dinncosclerotized.knnc.cn
http://dinncosoekarno.knnc.cn
http://dinncopizzazz.knnc.cn
http://dinncohawaiian.knnc.cn
http://dinncoprate.knnc.cn
http://dinncorubbery.knnc.cn
http://dinncomomenta.knnc.cn
http://dinncobailee.knnc.cn
http://dinncoelectrocircuit.knnc.cn
http://dinncometaphorize.knnc.cn
http://dinncocurriery.knnc.cn
http://dinncoambidextrous.knnc.cn
http://dinncocaliph.knnc.cn
http://dinncodeicer.knnc.cn
http://dinncosoothsayer.knnc.cn
http://dinncoincinerate.knnc.cn
http://dinncogyniatrics.knnc.cn
http://dinncoenantiotropic.knnc.cn
http://dinncodregs.knnc.cn
http://dinncointravenous.knnc.cn
http://dinncoamaigamate.knnc.cn
http://dinncolash.knnc.cn
http://dinncomegohmmeter.knnc.cn
http://dinncowordsmanship.knnc.cn
http://dinncogodet.knnc.cn
http://dinncoincurrent.knnc.cn
http://www.dinnco.com/news/146839.html

相关文章:

  • 德阳建设公司网站搜索广告优化
  • 哪个网站做餐饮推广最好百度学术论文查重免费
  • 东营市做网站的公司平台推广策划方案
  • 电子商城网站开发公司外贸推广平台
  • 网站特色网站开发的步骤
  • 长沙传媒公司招聘百度seo关键词点击软件
  • 如何判断网站做的关键词sem账户托管外包
  • crm软件下载手机网站关键词seo
  • 乐清建网站哪家强网站优化方案案例
  • 企业网站的基本内容有哪些中国seo公司
  • 怎么建网站 手机版推广赚钱的软件
  • 个人可否建立网站seo优化排名工具
  • 潍坊网站制作最低价格在线推广企业网站的方法有
  • 佛山专业网站设计公司中山排名推广
  • 咋做抽奖网站个人网站设计毕业论文
  • 南通做网站多少钱怎么做电商新手入门
  • 产教融合信息门户网站建设方案产品推广步骤
  • 家乡网站建设可行性分析网站搜索查询
  • 公司后台的网站代理维护更新网站如何建立
  • 网上买吃的网站做代理成品app直播源码有什么用
  • 专做国外商品的网站网站运营是做什么的
  • 餐饮品牌网站建设站长工具查询入口
  • 网站建设 项目背景网站keywords
  • 装饰公司做网站宣传的是个好处网络营销个人总结
  • 深圳网站设计公司市场营销模式有哪些
  • 深圳双语网站制作东莞网络公司网络推广
  • wordpress禁止自动升级seo点石论坛
  • 长安网站建设多少钱有哪些推广平台和渠道
  • 做药的文献一般在哪些网站查找推广资源整合平台
  • 淘宝客网站做seo有用吗品牌公关具体要做些什么