在学习SSM(H)的过程中,需要做大量的配置工作,其实很多配置行为本身只是手段,并不是目的。 基于这个考虑,把该简化的简化,该省略的省略,开发人员只用关心提供业务功能就行了,这就是 SpringBoot。
换言之,SpringBoot可以简单地看成简化了的、按照约定开发的SSM(H)。 开发速度大大提升。 可是呢,最好还是有 SSM(H)的基础,否则其中用到了Spring MVC,Mybatis,Hibernate的地方,或觉得摸不着头脑。
注: 括弧里的(H)表示Hibernate.
-
关于STS插件
Eclipse 提供了一个专门开发 SpringBoot 的插件叫做 Spring Tool Suite. 这个插件的安装是使用国外的源,安装很卡,起码几十分钟去了。
而SpringBoot 应用,本质上是一个Java 程序,其采用的风格是 maven 风格,所以又是一个 Maven 项目,接下来我们就按照 maven 项目的方式创建就行了。 不要被花里胡哨的插件掩盖了其本质。 - 先运行,看到效果,再学习
老规矩,先下载右上角的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。
这是一个 maven 项目, Eclipse 导入 maven 项目的办法,请参考如下步骤:在 Eclipse 中导入 maven 项目
然后运行类: com.how2java.springboot.Application 的主方法
接着访问地址:
就可以看到如图所示效果。http://127.0.0.1:8080/hello
- 关于 Tomcat
可能有一点会觉得很奇怪。 这明明跑动起来的是一个 web 程序,为什么启动方式不是启动 tomcat? 而是启动的一个 Java 类的 主方法?
这是因为这个 com.how2java.springboot.Application 类的主方法就把 tomcat 嵌入进去了,不需要手动启动 tomcat 了呢。 - 创建项目
接下来就开始从0开始创建这个项目了。
首先新建个 maven 项目
菜单 -> File -> New -> Other -> Maven -> Maven -> Maven Project -> New Maven Project
勾上这个 Create a simple project (skip archetype selection), 看吧,Springboot就是个简单的maven 项目 - 输入项目参数
接着在参数里输入红色框框这些数值 - pom.xml
用以下pom.xml里面的内容覆盖掉项目里的pom.xml。
覆盖后,右键点击项目->Maven->Update Project 更新一下项目。
这个pom.xml就指定了当前项目需要用到的jar包。<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.how2java</groupId> <artifactId>springboot</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot</name> <description>springboot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <properties> <java.version>1.8</java.version> </properties> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
- Application.java
创建 Application.java,其注解 @SpringBootApplication 表示这是一个SpringBoot应用,运行其主方法就会启动tomcat,默认端口是8080@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
- HelloController.java
接着创建控制器类HelloController, 这个类就是Spring MVC里的一个普通的控制器。
@RestController 是spring4里的新注解,是@ResponseBody和@Controller的缩写。@RestController public class HelloController { @RequestMapping("/hello") public String hello() { return "Hello Spring Boot!"; } }
- 运行并测试
接下来就运行Application.java, 然后访问地址
就能看到测试效果了http://127.0.0.1:8080/hello