1.1Spring 风云再起
Spring诞生时是java企业版的轻量级代替品。Spring为企业级java开发提供了相对简单的方法,通过依赖注入和面向切面,用简单的java对象(pojo)实现重量级的功能开发。
1.1.2Spring Boot精要
四个核心:
- 自动配置:针对于很多Spring应用程序的常见应用功能,SpringBoot能自动提供相关的配置
- 起步依赖:告诉Spring Boot需要什么功能,它就能够引入需要的库
- 命令行界面:这是SpringBoot的可选特性,借此你只需要写代码就能完成完整的应用程序,不需要传统的项目构建
- Actuator:让你能够深入运行中的SpringBoot应用程序,一探究竟
SpringBoot会为这些常见配置场景进行自动配置。SpringBoot会在应用程序的ClassPath里面发现你所需要的无论是嵌入式H2数据库还是JJdbcTemplate的Bean等等等,我们不需要考虑这些,会自动将其注入到你的Bean中。
向项目中添加依赖是件富有挑战的事情。你需要什么库?它的Group和Artifact是什么?你需要哪个版本?哪个版本不会和项目中的其他依赖产生冲突?起步依赖其实就是特殊的Maven依赖和Gradel依赖,利用了传递依赖解析,把常用库聚合在一起,组成几个特定功能而制定的依赖
正常我们需要引入很多的依赖,现在应用SpringBoot的话,只需要引入SpringBoot的起步依赖(org.springframework.boot:spring-boot-starter-web)
1.1.3Spring Boot 不是什么
SpringBoot不是应用服务器。因为SpringBoot内部嵌入了Servlet容器所以能够直接实现功能,这不是SpringBoot做的
SpringBoot也没有实现JPA和JMS(java消息服务)之类的企业级java规范
SpringBoot没有任何形式的代码生成
1.2Spring Boot入门
maven项目就是pom.xml文件
Application.java是一个带有main()方法的类,用于引导启动应用程序
ApplicationTests.java一个空的JUnit测试类,它加载了一个使用Spring Boot自动配置功能的Spring应用程序的上下文
application.properties:一个空的properties文件,你可以根据需要添加配置属性
以上为项目基本结构
2.1运用SpringBoot
开始之前我们需要先初始化一个项目。
从技术角度来看,我们要用SpringMVC来处理web请求,用Thymeleaf来定义web视图,用SpringDataJPA来把阅读列表持久化到数据库中,先用嵌入式H2数据库。
对于生成的项目目录如上图所示
主要的代码在src/test/java目录里面,测试资源放在src/test/resources目录下