先来张图镇楼
1 什么是 Spring Boot
正所谓工欲善其事,必先利其器。在学习 Spring Boot 之前,我们总得知道什么是 Spring Boot 吧。
Spring Boot 的设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
2 Spring Boot 的特点
记得之前用 spring + springmvc + mybatis 做项目时,总是写一大堆莫名其妙的配置文件,而且大部分还是复制黏贴的那种,毫无技术含量,关键有些地方写错还很难发现,心疼。。。
而如果使用 Spring Boot 的话,由于“习惯优于配置"的理念,用于开发项目,只需要极少的配置,十分简单。另外,它集成了所有主流开发框架,极大地提高了我们的工作效率。
3 Spring Boot 的项目结构
易看得,Spring Boot 的项目结构主要包括三个文件:src/main/java,src/main/resources,src/test/java。
4 Spring Boot 建议使用的目录结构
以 root package 结构为 edu.szu.test 进行举例
edu
+- szu
+- test
+- Application.java
|
+- domain
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- controller
| +- CustomerController.java
|
- Application.java:放到根目录下面,主要用于框架配置
- domain:用于实体与数据访问层
- service:用于业务代码
- controller:页面控制
5 Spring Boot 项目的启动
package edu.szu.test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
我们可以看到有一个 TestApplication 类,运行其 main 方法
在控制台上观察到有上面的图形生成,证明该 Java 项目已经搭建完毕。
6 我的第一个 web 程序
在 pom.xml 文件中有两个默认的模块:
- spring-boot-starter :核心模块,包括自动配置支持、日志和YAML;
- spring-boot-starter-test :测试模块,包括JUnit、Hamcrest、Mockito
现在我们引入一个新的支持 web 的模块
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
然后编写一个 controller :
启动主程序,并打开浏览器访问 http://localhost:8080/hello ,可得到