发表于: 2018-02-01 20:54:35
2 648
今日完成:
1. HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码
可以使用HttpStatus.方法调用
2. http请求访问方法
public enum RequestMethod {
GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
}
3. ResponseEntity返回相应数据,定义返回的HttpHeaders和HttpStatus
4. @PathVariable 映射 URL 绑定的占位符
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。
5. 测试POST方法
6. ResponseEntity<Void> 不返回 V是大写的
7. @RequestBody使用
作用:
注解用于将Controller的方法参数,根据HTTP Request Header的content-Type的内容,通过适当的HttpMessageConverter转换为JAVA类
使用时机:
POST或者PUT的数据是JSON格式或者XML格式,而不是普通的键值对形式。
8. UriComponentsBuilder生产uri赋给httpHeader
9. 更新信息应该把新信息复制,因为新信息可能不全,特别是缺失主键的情况,导致更新失败
10. 添加jetty插件
命令行运行
11. java中dynamic web project与web project 的区别如下:
Dynamic web project 动态web 页面中可以包含动态信息,如:JSP页面等。创建动态信息的工程,需要指定Web运行的容器(Tomcat,Jboss等)
Static web project 静态web 页面中不能包含动态信息,全部内容都是写死了的,直接点击就可以看到效果
12. jar包的scope
当添加进入一个jar包后,有一些属性需要设置,最重要的就是scope,它有以下几种取值:
1. compile,缺省值,适用于所有阶段,会随着项目一起发布。
2. provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
3. runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
4. test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
5. system,类似provided,需要显式提供包含依赖的jar,Maven不会在 Repository中查找它。
13. IOC容器生成对象是通过反射方式,在运行效率上有一定的损耗。
14. @Parma注解
1)使用@Param注解
当以下面的方式进行写SQL语句时:
@Select("select column from table where userid = #{userid} ")
public int selectColumn(int userid);
当你使用了使用@Param注解来声明参数时,如果使用 #{} 或 ${} 的方式都可以。
@Select("select column from table where userid = ${userid} ")
public int selectColumn(@Param("userid") int userid);
当你不使用@Param注解来声明参数时,必须使用使用 #{}方式。如果使用 ${} 的方式,会报错。
@Select("select column from table where userid = #{userid} ")
public int selectColumn(@Param("userid") int userid);
2)不使用@Param注解
不使用@Param注解时,参数只能有一个,并且是Javabean。在SQL语句里可以引用JavaBean的属性,而且只能引用JavaBean的属性。
// 这里id是user的属性
@Select("SELECT * from Table where id = #{id}")
Enchashment selectUserById(User user);
15. spring的延迟初始化bean (default-lazy-init 与 lazy-init )
明日计划:
1. 添加前端页面进行连接
2. 添加日志文件
3. 学习JsonTagLib,完成Json接口
遇到的问题:
1.
这是什么意思呢
2. 在tomcat可以直接跳转到默认页面,在jetty无法打开
收获:
1. 在task1的基础上实现了RESTful风格的CRUD,并且在postman和dhc上测试成功
2. 熟悉spring mvc的配置文件和主要注解
评论