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

网站百度关键词优化网站建设 会议主持稿

网站百度关键词优化,网站建设 会议主持稿,传统企业网站建设运营分析,找工作去哪个网站一.开启nacos 和redis 1.查看nacos和redis是否启动 docker ps2.查看是否安装nacos和redis docker ps -a3.启动nacos和redis docker start nacos docker start redis-6379 docker ps 二.使用SpringSession共享例子 这里的两个例子在我的一个博客有创建过程#xff0c…一.开启nacos 和redis 1.查看nacos和redis是否启动 docker ps2.查看是否安装nacos和redis docker ps -a3.启动nacos和redis  docker start nacos docker start redis-6379 docker ps 二.使用SpringSession共享例子   这里的两个例子在我的一个博客有创建过程我就不再创建了。 SpringSession微服务-CSDN博客 对两个共享做出一点修改 1.对springsessiondemo做修改 2.1.1.添加实体类 Score package com.jr.entry;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.stereotype.Component;Component NoArgsConstructor AllArgsConstructor Data public class Score {private String name;private Double score; } 2.1.2添加实体类 UserDto  package com.jr.entry;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.stereotype.Component;import java.util.List; NoArgsConstructor AllArgsConstructor Component Data public class UserDto {private String id;private String name;private String password;private ListScore scoreList; }2.1 3.添加接口 IUserService package com.jr.service;import com.jr.entry.UserDto;public interface IUserService {public UserDto info(); }4.添加接口实现类 UserServiceImpl package com.jr.service.impl;import com.jr.entry.UserDto; import com.jr.service.IUserService; import org.springframework.stereotype.Service;Service public class UserServiceImpl implements IUserService {Overridepublic UserDto info() {return new UserDto();} }5添加 UserController 类  package com.jr.controller;import com.jr.entry.UserDto; import com.jr.service.IUserService; import com.jr.util.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/user) public class UserController {Autowiredprivate IUserService userService;GetMappingpublic Result info(){UserDto userDtouserService.info();return Result.ok().put(data,userDto);} } 6.添加枚举 ResultCode为了更规范化 package com.jr.util;public enum ResultCode {SUCCESS(0, 请求成功),ERROR(1, 请求失败),;private int code;private String message;ResultCode(int code, String message) {this.code code;this.message message;}public int getCode() {return code;}public String getMessage() {return message;} }7.添加工具类 Result 为了更规范化 package com.jr.util;import lombok.Data;import java.util.HashMap; import java.util.Map;Data public class Result {private Integer code;private String message;private MapString, Object map new HashMap();private Result() {}public static Result ok() {Result r new Result();r.setCode(ResultCode.SUCCESS.getCode());r.setMessage(ResultCode.SUCCESS.getMessage());return r;}public static Result error() {Result r new Result();r.setCode(ResultCode.ERROR.getCode());r.setMessage(ResultCode.ERROR.getMessage());return r;}public Result put(String key, Object value) {map.put(key, value);return this;}public Object get(String key) {return map.get(key);}}8.修改application.properties文件中项目注册名字 spring.application.nameopenfeignDemo1  spring.application.nameopenfeignDemo1 2.对sessiondemo1做改动 1.添加实体类 Score package com.jr.entry;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.stereotype.Component;Component NoArgsConstructor AllArgsConstructor Data public class Score {private String name;private Double score; } 2.2.添加实体类 UserDto package com.jr.entry;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.stereotype.Component;import java.util.List; NoArgsConstructor AllArgsConstructor Component Data public class UserDto {private String id;private String name;private String password;private ListScore scoreList; }3.添加接口 IScoreService package com.jr.service;import com.jr.entry.Score;import java.util.List;public interface IScoreService {public ListScore info(); } 4.添加接口实现类 ScoreServiceImpl package com.jr.service.impl;import com.jr.entry.Score; import com.jr.service.IScoreService; import org.springframework.stereotype.Service;import java.util.ArrayList; import java.util.List;Service public class ScoreServiceImpl implements IScoreService {Overridepublic ListScore info() {ListScore result new ArrayList();for (int i0;i3;i){Score scorenew Score();score.setName(namei);score.setScore(Math.random()*10);result.add(score);}return result;} }5.添加 ScoreController类  RestController RequestMapping(/score) public class ScoreController {Autowiredprivate IScoreService scoreService;GetMapping(/info)public Result info(){ListScore listscoreService.info();return Result.ok().put(list,list);} } 6.添加枚举 ResultCode  package com.jr.util;public enum ResultCode {SUCCESS(0, 请求成功),ERROR(1, 请求失败),;private int code;private String message;ResultCode(int code, String message) {this.code code;this.message message;}public int getCode() {return code;}public String getMessage() {return message;} }7.添加工具类 Result  package com.jr.util;import lombok.Data;import java.util.HashMap; import java.util.Map;Data public class Result {private Integer code;private String message;private MapString, Object map new HashMap();private Result() {}public static Result ok() {Result r new Result();r.setCode(ResultCode.SUCCESS.getCode());r.setMessage(ResultCode.SUCCESS.getMessage());return r;}public static Result error() {Result r new Result();r.setCode(ResultCode.ERROR.getCode());r.setMessage(ResultCode.ERROR.getMessage());return r;}public Result put(String key, Object value) {map.put(key, value);return this;}public Object get(String key) {return map.get(key);}}8.8.修改application.properties文件中项目注册名字 spring.application.nameopenfeignDemo2  spring.application.nameopenfeignDemo2 三.启动两个项目同时 如果遇到socket closed问题可能是哪个项目端口冲突了改了就行 1.第一个项目 2.第二个项目 nacos网站里  四.实现http请求管理 我们想要在第一个项目里面查询用户信息的同时也能访问第二个项目的成绩集合。 1.两个项目都向pom.xml添加依赖 !-- feign --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency 2.2.在 “用户项目” 里(第一个项目)添加一个接口 定义了Feign接口接口中的方法和对应服务端Controller方法一样两点不同 RequestMapping注解的值要求全路径包括controller上和方法上的注解地址拼接到一起 添加FeignClient注解参数是服务端微服务的名称 package com.jr.feign;import com.jr.util.Result; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.GetMapping; Component FeignClient(openfeignDemo2) public interface ScoreFeign {GetMapping(/score/info)public Result info();} 3.改动UserServiceImpl实现类 package com.jr.service.impl;import com.jr.entry.Score; import com.jr.entry.UserDto; import com.jr.feign.ScoreFeign; import com.jr.service.IUserService; import com.jr.util.Result; import com.jr.util.ResultCode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import java.util.List;Service public class UserServiceImpl implements IUserService {Autowiredprivate ScoreFeign scoreFeign;Overridepublic UserDto info() {UserDto userDtonew UserDto();userDto.setId(10);userDto.setName(奥特曼);userDto.setPassword(123456);Result resultscoreFeign.info();if(result.getCode() ResultCode.SUCCESS.getCode()){userDto.setScoreList((ListScore) result.get(list));}return userDto;} }4.4.启动类添加注解 EnableFeignClients package com.jr;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; SpringBootApplication EnableRedisHttpSession EnableFeignClients //开始OPenFeign public class SpringBootMain {public static void main(String[] args) {SpringApplication.run(SpringBootMain.class,args);} }5.启动两个项目 同时 第一个项目: 第二个项目 四.添加请求头 1.改第一个项目的控制层UserController 2.修改第二个项目控制器方法添加了请求头的获得 3.启动项目使用postman进行测试  1234356是我自己设置的可以自己设置但是不能是汉字,可以是大小写字母和数字 第一个项目的控制台这里两个是因为我点了两次实际只有一个 第二个项目的控制台这里两个是因为我点了两次实际只有一个 4.创建拦截器 第一个项目的header为123456但是第二个项目的后台为null。 4.4.1在第一个项目创建拦截器类 package com.jr.interceptor;import feign.RequestInterceptor; import feign.RequestTemplate; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes;import javax.servlet.http.HttpServletRequest;Configuration public class RequestHeaderInterceptor implements RequestInterceptor {Overridepublic void apply(RequestTemplate template) {RequestAttributes requestAttributes RequestContextHolder.getRequestAttributes();if (requestAttributes null) {return;}HttpServletRequest request ((ServletRequestAttributes) requestAttributes).getRequest();String test request.getHeader(test);template.header(test, test);} }4.4.2然后重新启动两个项目用postman工具测试 没有什么要改的postman,直接send,主要是看控制台。 第一个项目的结果没啥变化 第二个项目的结果发生了变化。header不是null而是123456。 五.参数传递 1.第一个项目下的对应的IUserService 接口添加两个方法 UserDto add(UserDto user); UserDto id(String id); 2.在第一个项目下的UserController里添加如下代码 GetMapping(/{id})public Result id(PathVariable String id) { //url传值UserDto userDto userService.id(id);return Result.ok().put(data, userDto);}PostMapping(/add)public Result add(RequestBody UserDto user) { //对象传值UserDto userDto userService.add(user);return Result.ok().put(data, userDto);} 3. feign接口 在第一个项目下的ScoreFeign接口里添加如下代码 GetMapping(/score/{id})Result id(PathVariable String id);PostMapping(/score/add)Result add(RequestBody UserDto user); 4.第一个项目对应的接口实现类重写两个方法 Overridepublic UserDto add(UserDto user) {UserDto userDtonew UserDto();Result resultscoreFeign.add(user);if(result.getCode() ResultCode.SUCCESS.getCode()){UserDto resultUser JSON.parseObject(JSON.toJSONString(result.get(data)),UserDto.class);System.out.println(resultUser);BeanUtils.copyProperties(resultUser,userDto);}return userDto;}Overridepublic UserDto id(String id) {UserDto userDtonew UserDto();Result resultscoreFeign.id(id);if(result.getCode() ResultCode.SUCCESS.getCode()){userDto.setId((String)result.get(id));}return userDto;} 5.为第二个项目的下的UserController里添加如下代码 GetMapping(/{id})public Result id(PathVariable String id) {return Result.ok().put(id, id);}PostMapping(/add)public Result add(RequestBody UserDto user) {return Result.ok().put(data, user);} 6.启动测试用postman工具进行测试 5.6.1先用get方法来url传值 5.6.2在用post方法传对象 下面结果是我网卡了没出来第二张图是对的。 六.我的项目结构 1.第一个项目 2.第二个项目 七.注意 本博客中的四和五大点中 第一个项目的业务类中的  都和第一个项目第二个项目的对应
http://www.dnsts.com.cn/news/33952.html

相关文章:

  • 物流网站建设案例网站收录在下降
  • 培训制作网站源码网盟推广和搜索推广的区别
  • 一个网站多大空间甘肃兰州建筑网
  • 制作网站建设规划书上海搜索引擎优化公司
  • 做摄影和后期的兼职网站宁波专业网站公司
  • 企业官方网站制作阿里云网站建设方案
  • 校园论坛网站怎么做宁波cms模板建站
  • 用wordpress建企业网站创立制作网站公司
  • 做网站的费用属于什么费用呼和浩特网站优化
  • 乐清门户网站建设如何查询网站二级页面流量
  • 一个网站可以做多少个关键词广西南宁网站公司
  • 东海县网站建设网页模板网站生成
  • 青峰集团响应式网站西部数码 wordpress
  • 网站推荐2021怎么制作自己的免费网站
  • 网站建设指导方案建设电子商务网站期末考试
  • 食品 药品 监督 网站 源码 phplogo定制免费
  • 国外做设计的网站广州四楚seo顾问
  • 用齐博cms建网站个人网站名称怎么取容易备案
  • 黄的网站建设岳阳市住房和城乡建设路网站
  • 前后端分离实现网站开发网站建设公司哪家好 都来磐石网络
  • 学校网站规划方案石家庄网络公司哪家好
  • 哪个网站可以做试卷做百度网站
  • wordpress幻灯片回收站在哪里wordpress 规则
  • 建设银行开县支行 网站网站建设与用户体验
  • 短网址生成网站vps如何wordpress
  • 在网站做推广属于广告费吗网站建设应该考虑哪些方面
  • 怎么做网站推销产品sem是什么仪器
  • 内网代理ip建设网站在线购物商城网站
  • 网站备案有时间吗wordpress编辑器字体大小
  • 河南省住房和城乡建设厅网站甘孜商城网站建设