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

市环保局网站建设方案网站源码免费的

市环保局网站建设方案,网站源码免费的,广东住房和城乡建设厅官方网站,推广方式是什么意思1. SpringBootWeb入门开发 需求#xff1a;使用SpringBoot 开发一个web 应用#xff0c;浏览器发起请求 /hello 后#xff0c;给浏览器返回字符串Hello World~。 步骤#xff1a; 1. 创建springBoot工程#xff0c;并勾选web开发相关依赖。 2. 定义 HelloCo…1. SpringBootWeb入门开发 需求使用SpringBoot 开发一个web 应用浏览器发起请求 /hello 后给浏览器返回字符串Hello World~。 步骤 1. 创建springBoot工程并勾选web开发相关依赖。 2. 定义 HelloController类添加方法 hello并添加注释。 3. 运行测试 RestController // RestController 标识下面这个类为请求处理类 public class HelloController {RequestMapping(/hello)// RequestMapping(/hello) 指定请求处理路径public String hello(){System.out.println(hello world~);return hello world~;} } 启动类  // 启动类 启动springBoot 工程 SpringBootApplication public class Demo1Application {public static void main(String[] args) {SpringApplication.run(Demo1Application.class, args);} } 2. postman 2.1 postman简介 Postman 是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。 作用常用于进行接口测试 2.2 postman安装 下方为安装链接 Postman API Platform | Sign Up for Free 3. 请求 3.1 简单参数 原始方式 在原始的web程序中获取请求参数需要通过HttpServletRequest 对象手动获取。 比较繁琐需要手动的类型转换 RestController public class RequestController {RequestMapping(/simpleParam)public String simpleParam(HttpServletRequest request) {String name request.getParameter(name);String age request.getParameter(age);int intAge Integer.parseInt(age);System.out.println(name - age);return ok;} }springboot方式 简单参数参数名与形参变量名相同定义形参即可接收参数。 RestController public class RequestController {RequestMapping(/simpleParam)public String simpleParam(String name,Integer age) {System.out.println(name - age);return ok;} }如果请求参数名不一致会出现什么结果呢 // 请求参数名不一致 RequestMapping(/simpleParam) public String simpleParam(String username,Integer age) {System.out.println(username : age);return ok; } 如果请求参数不一致如何请求成功呢 如果方法形参名称与请求参数名称不匹配可以使用RequestParam 完成映射 RequestMapping(/simpleParam)public String simpleParam(RequestParam(name name,required false)String username, Integer age) {System.out.println(username : age);return ok;} 注意 RequestParam 中的required 属性默认为true代表该请求参数必须传递如果不传递将报错。如果该参数是可选的可以将required属性设置为false。  小结 1. 原始方式获取请求参数 controller 方法形参中声明HttpServletRequest 对象 调用对象的getParameter(参数名) 2. SpringBoot 中接收简单参数 请求参数名与方法形参变量名相同 会自动进行类型转换 3. RequestParam注解 方法形参名称与请求参数名称不匹配通过该注解完成映射 该注解的required属性默认为true代表请求参数必须传递 3.2 实体参数 简单实体对象 请求参数名与形参对象属性名相同定义POJO接收即可 NoArgsConstructor AllArgsConstructor Data public class User {private String name;private Integer age; } RequestMapping(/simplePojo)public String simplePojo(User user) {System.out.println(user);return ok;} 复杂实体对象 请求参数名与形参对象属性名相同按照对象层次结构关系即可接收嵌套POJO属性参数。 AllArgsConstructor NoArgsConstructor Data public class Address {private String province;private String city; } NoArgsConstructor AllArgsConstructor Data public class User {private String name;private Integer age;private Address address; } RequestMapping(/simplePojo)public String simplePojo(User user) {System.out.println(user);return ok;} 小结 规则请求参数名与形参对象属性名相同即可直接通过POJO接收  3.3 数组集合参数 数组参数 请求参数名与形参数组名称相同且请求参数为多个定义数组类型形参即可传递参数 RequestMapping(/arrayParam)public String arrayParam(String[] hobby) {System.out.println(Arrays.toString(hobby));return OK;} 集合参数 请求参数名与形参集合名称相同且请求参数为多个RequestParam 绑定参数关系 RequestMapping(/listParam)public String listParam(RequestParam ListString hobby) {System.out.println(hobby);return OK;} 小结 数组请求参数名与形参中数组变量名相同可以直接使用数组封装 集合请求参数名与形参中集合变量名相同通过RequestParam 绑定参数关系 3.4 日期时间参数 日期参数使用 DateTimeFormat 注解完成日期参数格式转换 RequestMapping(/dateParam)public String dateParam(DateTimeFormat(pattern yyyy-MM-dd HH:mm:ss) LocalDateTime updateTime) {System.out.println(updateTime);return OK;} 3.5 JSON参数 JSON参数JSON数据键名与形参对象属性名相同定义POJO类型形参即可接收参数需要使用RequestBody 标识 {name:ITCAST,age:16,address:{province:山西,city:晋中} } RequestMapping(/jsonParam)public String jsonParam(RequestBody User user) {System.out.println(user);return OK;} 3.6 路径参数 路径参数通过请求URL直接传递参数使用{...}来标识该路径参数需要使用 PathVariable 获取路径参数 传递一个参数 RequestMapping(/path/{id})public String pathParam(PathVariable Integer id) {System.out.println(id);return OK;} 传递多个参数 RequestMapping(/path/{id}/{name})public String pathParam(PathVariable Integer id,PathVariable String name) {System.out.println(id);System.out.println(name);return OK;} 3.7 总结 简单参数 定义方法形参请求参数名与形参变量名一致。 如果不一致通过RequstParam 手动映射。 实体参数 请求参数名与实体对象的属性名一致会自动接收封装 数组集合参数 数组请求参数名与数组名一致直接封装 集合请求参数名与集合名一致RequestParam 绑定关系 日期参数 DateTimeFormat JSON参数 RequestBody 路径参数 PathVariable 4. 响应 注解解释 4.1 ResponceBody 类型方法注解、类注解 位置Controller方法上/类上 作用将方法返回值直接响应如果返回值类型是 实体对象/集合将会转换为JSON格式响应 说明RestController Controller ResponseBody Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Documented Controller ResponseBody public interface RestController {/*** The value may indicate a suggestion for a logical component name,* to be turned into a Spring bean in case of an autodetected component.* return the suggested component name, if any (or empty String otherwise)* since 4.0.1*/AliasFor(annotation Controller.class)String value() default ;} 4.2 演示案例 RequestMapping(hello)public String hello() {System.out.println(Hello World);return Hello World;} RequestMapping(/getAddr)public Address getAddr() {Address addr new Address();addr.setProvince(浙江);addr.setCity(杭州);return addr;} RequestMapping(listAddr)public ListAddress listAddr() {ArrayListAddress list new ArrayList();Address addr new Address();addr.setProvince(广东);addr.setCity(深圳);Address addr2 new Address();addr2.setProvince(山西);addr2.setCity(太原);list.add(addr);list.add(addr2);return list;} 4.3 通一规范 NoArgsConstructor AllArgsConstructor Data public class Result {private Integer code; // 1 成功0失败private String msg; // 提示信息private Object data; // 数据datapublic static Result success(Object data) {return new Result(1,success,data);}public static Result success() {return new Result(1,success,null);}public static Result error(String msg) {return new Result(0,msg,null);} } 改造原始代码 RequestMapping(hello)public Result hello() {System.out.println(Hello World);return Result.success(Hello World);}RequestMapping(/getAddr)public Result getAddr() {Address addr new Address();addr.setProvince(浙江);addr.setCity(杭州);return Result.success(addr);}RequestMapping(listAddr)public Result listAddr() {ArrayListAddress list new ArrayList();Address addr new Address();addr.setProvince(广东);addr.setCity(深圳);Address addr2 new Address();addr2.setProvince(山西);addr2.setCity(太原);list.add(addr);list.add(addr2);return Result.success(list);} 4.4 小结 1. ResponseBody 位置Controller类上/方法上 作用将方法返回值直接响应若返回值类型是 实体对象/集合转JSON格式响应 2. 通一响应结果 Result(code、msg、data) 5. 分层解耦 - 三层架构 5.1 三层架构 1. controller控制层接收前端发送的请求对请求进行处理并响应数据。 2. service业务逻辑层处理具体的业务逻辑。 3. dao数据访问层(Data Access Object)(持久层)负责数据访问操作包括数据的增、删、改、查。 5.2 分层解耦 内聚软件中各个功能模块内部的功能联系 耦合衡量软件中各个层/模块之间的依赖、关联的程度。 软件设计原则高内聚低耦合。 控制反转Inversion Of Control简称IOC。对象的创建控制权由程序自身转移到外部(容器)这种思想称为控制反转。 依赖注入Dependency Injection简称DI。容器为应用程序提供运行时所依赖的资源称之为依赖注入。 Bean对象IOC容器中创建、管理的对象称之为bean。 5.3 IOCDI入门 步骤 1. Service层 及 Dao 层的实现类交给IOC容器管理。 2. 为Controller及Service注入运行时依赖的对象。 3. 运行测试。 Component // 将当前的类交给IOC容器管理成为IOC容器中的bean AutoWired // 运行时IOC容器会提供该类型的bean对象并复制给改变量 - 依赖注入 5.4 IOC详解 bean 的声明 要把某个对象交给IOC容器管理需要在对应的类上加上如下注解之一 注意事项 声明bean的时候可以通过value属性指定bean的名字如果没有指定默认为类名首字母小写。 使用以上四个注解都可以声明bean但是在springboot继承web开发中声明控制器bean只能用Controller bean组件扫描 前面的bean的四大注解要想生效还需要被组件扫描注解ComponentScan扫描。 ComponentScan 注解虽然没有显示配置但是实际上已经包含在了启动类声明注解 SpringBootApplication中默认扫描的范围是启动类所在的包及其自包。 5.5 DI详解 依赖注入 AutoWired注解默认是按照类型进行如果存在多个相同类型的bean将会报出如下错误 解决方式 Resource 与 Autowired区别 Autowired 是spring框架提供的注解而Resource 是JDK提供的注解。 Autowired 默认是按照类型注入而Resource 默认是按照名称注入。
http://www.w-s-a.com/news/449650/

相关文章:

  • 学校网站建设制度网站相关推荐怎么做
  • 昌图网站wordpress 视频外链
  • 企业网站要怎么建设重庆住房城乡建设部网站
  • html5网站特点seo教程培训班
  • 深圳网站建设哪个最好网站 多语
  • 互联网工具型网站创意网络广告
  • 影视公司网站建设网页界面设计分辨率是多少dpi
  • 免费的做微博的网站模板wordpress 页面 首页
  • 摄影图片网站网站辅导运营与托管公司
  • 做课件的网站长春免费建站模板
  • 响应式网站模板下载免费wordpress 小工具移动
  • 网站标签title在线app制作平台
  • 做电器推广的网站简洁大方的网站模板
  • 网站开发的平台100个详情页设计图
  • wordpress淘宝客建站教程视频知名的设计公司网站
  • 批量做单页网站怎么直接用代码做网站
  • 百度收录较好的网站办公室装修设计方案
  • 建设购物网站要求cnzz数据统计
  • 深圳自适应网站建设价格广东网站建设软件
  • 网页设计介绍北京网站自己做彩票网站
  • 最牛论坛网站app生成链接
  • 用jsp做的网站源代码网站优化说明
  • 网站建设公司名字甘肃省和住房建设厅网站
  • 做外贸网站需要什么卡网站建设公司怎样
  • 网站关键词密度怎么计算的中文版wordpress
  • asp网站建设教程如何在线上推广自己的产品
  • 电脑网站你懂我意思正能量济南网站建设公司熊掌号
  • 杂志社网站建设萧山区网站建设
  • 电商网站前端制作分工网站怎做百度代码统计
  • 免费的html大作业网站网站开发心得500字