美文网首页
实习生活记录——SINCE2019-04-11 第一周

实习生活记录——SINCE2019-04-11 第一周

作者: ElfACCC | 来源:发表于2019-04-15 11:45 被阅读0次

2019-04-11——DAY1

使用了Lombok的@Data注解之后的代码样式,我们可以看出来第二个图中我们省去了Get,Set 还有ToString方法等等的实现代码快,全部收敛成一个@Data注解,这样代码就整洁了很多。

image.png

2019-04-12——DAY2

注解怎么用

image.png

@ApiOperation(value = "用户信息列表",notes = "所有用户列表")
完成了简单增删查改代码编写,用了postman插件get和post测试,了解了一点注释怎么用,SwaggerUI生成接口文档。报了错,解决不了。。。┭┮﹏┭┮改不出来,很不明白。

2019-04-15——DAY3

@GetMapping("/list")
@ApiOperation(value = "用户信息列表",notes = "所有用户列表")
@ResponseBody
public DynamicBean selectAll(){
    DynamicBean bean = new DynamicBean();
    bean.put("uerList",userService.selectAll());
    return bean;
}

要学一下常用的注解的用法

@ResponseBody的作用其实是将java对象转为json格式的数据。
DynamicBean,因为只需要返回数据,不需要返回视图,所以一般都用这个类,他继承自map,注意一下他的方法,用put放进去。

注意出现时间或某个字段为null的问题


这种时间为null,要么是格式有问题,要么是SQL、语句不对,我写了
select * from dg_user
不行,要写全
select id,name,create_time createTime,modify_time modifyTime from dg_user
才能查到时间,因为id和name可以和user类里面定义的变量名一样,而两个时间定义的名字不一样了。。所以不行。

下午写了一个文件上传的controller。。过程艰辛(不过全程自己查百度,哎他们太忙了)

文件上传:MultipartFile 通过 MultipartFile .transferTo( new File()), 仅需要这步骤,就可以把图片存到服务器所在的电脑的任意一个盘或者路径里面。

MultipartFile需要配置,于是写了一个springmvc.xml里面贴上了

  <bean id="multipartResolver"
 class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="209715200"/>
    <property name="defaultEncoding" value="UTF-8"/>
    <property name="resolveLazily" value="true"/>
</bean>

主要是配置最大文件单个和总共不能超过多大等等等


image.png

其中,@controller:

在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。
一开始没有写get的请求方法,就报错了,说啥啥的,我就查到他先是查get的巴拉巴拉就,于是可以从get的return到post、上就可以了。

分隔符“/”"", 统一使用了 File.seperator() 来代替

还有一直传不上去文件,因为



这里没有写 file


image.png

这是因为:在上传文件的时候指定的key与@RequestParam中要求的不一致,导致了后台不能获取到上传的文件。
@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。

就这样吧 ,明天再写

2019-04-16 DAY4

接收请求参数的方式:3种 包括@RequestParam的用法

  @RequestParam(value="username") String userName, @RequestParam(value="usernick") String userNick //value中的参数名称要跟name中参数名称一致
  String username, String usernick// 此时要参数名称一致
  HttpServletRequest request //request.getParameter("usernick")

@RequestBody:处理HttpEntity传递过来的数据,一般用来处理非Content-Type: application/x-www-form-urlencoded编码格式的数据。

@RequestBody注解可以接收json格式的数据,并将其转换成对应的数据类型。
GET请求中,因为没有HttpEntity,所以@RequestBody并不适用。
POST请求中,通过HttpEntity传递的参数,必须要在请求头中声明数据的类型Content-Type,SpringMVC通过使用HandlerAdapter 配置的HttpMessageConverters来解析HttpEntity中的数据,然后绑定到相应的bean上。

@RequestBody用于post请求,不能用于get请求

这里涉及到使用@RequestBody接收不同的对象

  1. 创建一个新的entity,将两个entity都进去。这是最简单的,但是不够“优雅”。
  2. 用Map<String, Object>接受request body,自己反序列化到各个entity中。
  3. 类似方法2,不过更为generic,实现自己的HandlerMethodArgumentResolver。


    image.png

@ModelAttribute注解类型将参数绑定到Model对象

image.png

当前台界面使用GET或POST方式提交数据时,数据编码格式由请求头的ContentType指定。分为以下几种情况:

  1. application/x-www-form-urlencoded,这种情况的数据@RequestParam、@ModelAttribute可以处理,@RequestBody也可以处理。
  2. multipart/form-data,@RequestBody不能处理这种格式的数据。(form表单里面有文件上传时,必须要指定enctype属性值为multipart/form-data,意思是以二进制流的形式传输文件。)
  3. application/json、application/xml等格式的数据,必须使用@RequestBody来处理。
    @RequestParam get和post传值都可以
    @RequestBody @ModelAttribute 只能post传值

@ResponseBody:直接返回 json 数据。不会跳转

在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。 比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。@RequestBody 将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。

类似:一般就用DynamicBean 只返回json (不返回view的话,不用modelandview)

@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

@ResponseBody
public DynamicBean selectAll(){
    DynamicBean bean = new DynamicBean();
    bean.put("uerList",userService.selectAll());
    return bean;
}

@PathVariable

 @RequestMapping("/users/{username}")
@ResponseBody
public String userProfile(@PathVariable("username") String username){
      //   return String.format("user %s", username);
    return "user" + username; 
}

初步认识JWT

下列场景中使用JSON Web Token是很有用的:

Authorization (授权) : 这是使用JWT的最常见场景。一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点登录是现在广泛使用的JWT的一个特性,因为它的开销很小,并且可以轻松地跨域使用。
Information Exchange (信息交换) : 对于安全的在各方之间传输信息而言,JSON Web Tokens无疑是一种很好的方式。因为JWTs可以被签名,例如,用公钥/私钥对,你可以确定发送人就是它们所说的那个人。另外,由于签名是使用头和有效负载计算的,您还可以验证内容没有被篡改。

基于token机制的身份认证

使用token机制的身份验证方法,在服务器端不需要存储用户的登录记录。大概的流程:

客户端使用用户名和密码请求登录。服务端收到请求,验证用户名和密码。验证成功后,服务端会生成一个token,然后把这个token发送给客户端。客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。客户端每次向服务端发送请求的时候都需要带上服务端发给的token。服务端收到请求,然后去验证客户端请求里面带着token,如果验证成功,就向客户端返回请求的数据。
https://blog.csdn.net/daimengs/article/details/81088172

2019-04-18 DAY5

(新的一天新的发现,我买了一个电脑支架,用起来好爽!bang!这台电脑的触摸板真的烂的一批。
好了,刚刚又去问了一下善良的某某哥。)

1、了解了项目之间怎么跳来跳去。2、还有sql语句还可以,直接用方法。下面是举例子。

image.png

在authcontroller中去屌merchantclient服务中的这个方法,我们可以通过按住ctrl键跳到


image.png

这个服务的接口(因为是微服务?)然后通过这个路径,按两下shrift,查找这个服务下的这个接口。


image.png image.png image.png
具体实现就在这个位置。↑
(刚刚解决了qq截图热键冲突,谁能想到是网易云呢。。)
image.png

类似这种sql方法。

怎么找路径

image.png image.png

UUID.randomUUID().toString() 的作用:java-生成唯一的序列

UUID.randomUUID().toString()是javaJDK提供的一个自动生成主键的方法。

UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,是由一个十六位的数字组成,表现出来的 形式。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不 同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。


image.png
在java中String一个String类型的可变长度的数组,固定长度的数组是String[] str={};这样写,可变的就String... str.
select(String... fields) fields是字段的意思

睡了15min。。还是很困很困,感觉直接看项目代码好吃力,看不懂,注释很少,啊啊啊,这样感觉进步不大。
好无聊,我要无聊死了,无聊无聊,为神马不下大雨,好热好热啊啊啊啊啊 好无聊啊呜呜呜呜想吃好吃的,天哪我再也不要点轻食了,不好吃不好吃,鸡肉不知道怎么做的,这么难吃也是服了。嘟嘟嘟嘟嘟嘟嘟嘟嘟他们工作都不用休息一下的吗

相关文章

  • 实习生活记录——SINCE2019-04-11 第一周

    2019-04-11——DAY1 使用了Lombok的@Data注解之后的代码样式,我们可以看出来第二个图中我们省...

  • 实习期,我快抑郁了

    我实习了,线上实习。实习第一周,我快抑郁了,心态炸裂。 直到第二周才完全调整过来,能够完全适应实习生活,也恢复了往...

  • 禅绕画

    实习第一周结束 ( •̥́ ˍ •̀ू )

  • 开始

    每天写点东西,记录实习律师的生活和见闻

  • 我一直都在流浪  可我不曾见过海洋

    实习生 ,长期在外出差。 喜欢拍照 记录生活

  • 记一次实习经历

    19年暑假我去了佳丽斯家纺公司实习,谨以一段文字记录下这次经历。 实习时间共一个月多一点。第一周我在仓库帮忙,有点...

  • [100天行动-鱼与漁与隅]#008:第一周总结报告

    第一周总结:微信群讨论记录 第一周打卡记录: 倒计时【92】天

  • 实习记录

    实习一段时间了,说说最近的感受吧 我是转行的,现在是一名材料计算的研究生,为什么要说材料计算呢,我是希望去面试的时...

  • 实习记录

    来福州第二天 今天天气比较凉爽,早上我们宿舍七点零几就起床了,我手机七点的闹钟突然响起来,我就下床把他关掉了。 阳...

  • 实习记录

    这周是来上海实习的第三周了,今天却也是最伤心最委屈的时刻。明明你很努力的做事,但是却还是被上司骂个不停。 我知道自...

网友评论

      本文标题:实习生活记录——SINCE2019-04-11 第一周

      本文链接:https://www.haomeiwen.com/subject/zvcxwqtx.html