发表于: 2017-10-02 22:16:52

2 829


今天完成的事情:
完整的梳理一遍昨天的项目一个简单的spring boot的增删改查
1.首先是pom里面的dependency:
其中spring-boot-starter-web相当于告诉springboot这是一个web应用,它便会将相应的依赖配置都给我准备好,springboot会给web应用配置tomcat作为嵌入式web容器,他并不是用的你本地安装的tomcat(昨天运行项目的时候就在想,我的tomcat的配置的端口是8083,但是什么这里tomcat用的是8080),如果你想用jetty的话,你可以再声明一个对spring-boot-starter-jetty的dependency,之后springboot中使用的EnableAutoConfiguration帮你完成这个。
这里还有一个问题就是,这里只有一些artifactId没有version,这里在继承了spring-boot-starter-parent之后,如果我们的项目需要spring和其他的第三方的jar包的框架进行整合的话,则只需要引入其对应的依赖描述即可。比如我们将spring和jpa整合,则只要引入spring-boot-starter-data-jpa,这是通过maven的依赖传递性,将所有的spring以及jpa的相关jar包都自动引入了。
2.构建实体类
set/get方法忽略,它和ssm不一样的是多了这些注解,还有其他的注解暂时没有用到,还没有深入研究。
3.我们创建一个接口UserRepository.java(相当于ssm中的dao),这个接口继承了框架为我们提供好的接口Repository或者CrudRepository(CrudRepository继承自Repository),其中为我们提供了对数据库的基本操作方法。
JpaRepository中有封装好的crud的方法,比CrudRepository中多findAll的方法。
我这里创建的接口UserRepository只需要加一个findById的方法。
4.userService,userServiceImpl和ssm中没有什么区别。
5.再就是web,只需要controller就行了,与ssm中的controller没有什么区别
有区别的这里没有体现出来,如果项目中需要用的json的话我们这里的要用@RestController来注释这个controller,他和@Controller的用法是一样的,并且整合了@RestposeBoby这个功能,这里就不需要在每个@RequestMapping 方法上都加上 @ResponseBody 注解,这样代码更简明。
还有常用便捷注解 @GetMapping、@PostMapping 和 @PutMapping 等
上面的增删改查也能看到,请求入参用到的注解也与springmvc相同。
6.视图和视图解析,与springmvc相同都是最终返回的ModelAndView,,最终通过viewResolvber视图解析器得到试图对象view。可能是我们常用的jsp,也可能是基于 ThymLeaf 、FreeMarker 或 Velocity 模板引擎视图,当然还有可能是 JSON 、XML 或者 PDF 等各种形式,以上说到的模板引擎都有starters支持。我们这里用到的是Thymeleaf
7.application.properties文件(或者是application.yml文件)
这里有两个坑:1.application.properties配置中文值的时候,读取出来的属性值会出现乱码问题,但是application.yml不会出现乱码问题,原因是spring boot以iso-8859的编码方式读取application.properties配置文件。2.如果定义键值对,这里读取不到对应写的属性值,为什么呢?Spring Boot 的默认 StandardEnvironment 首先将会加载 “systemEnvironment" 作为首个PropertySource. 而 source 即为System.getProperties().当 getProperty时,按照读取顺序,返回 “systemEnvironment" 的值.即 System.getProperty("user.name");(没有遇到过,但是从博客里面看到了,这里记一下,以后可能会遇到。)
最后运行:
spring boot的启动很简答,只需要运行springApplication的静态方法run就行,这个run方法会构造一个SpringApplication的实例,然后再调用这里实例的run方法就表示启动SpringBoot。(启动过程实现还在研究中)


明天计划的事情:

1.上午补基础,下午继续spring-boot,晚上付老师的课。


遇到的问题:

今天总结的不算透彻,还有很多地方有疏漏,记起来再补上。


总结:

1.用着用着觉得springboot用的还挺爽的,还有就是有很多地方觉得需要深入学习的地方。明天继续。








返回列表 返回列表
评论

    分享到