Spring Boot特性
1. 创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6.开箱即用,没有代码生成,也无需XML配置。
开发准备
开发环境JDK 1.8
开发工具(Eclipse)
项目管理工具( Maven )
单独启动一个spring boot 非常简单 首先一个maven project 项目
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 指定一下jdk的版本 ,这里我们使用jdk 1.8 ,默认是1.6 -->
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--
spring-boot-starter-web: MVC,AOP的依赖包....
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--
<version></version>
由于我们在上面指定了 parent(spring boot)
-->
</dependency>
<!-- 添加fastjson 依赖包. -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
<!-- spring boot devtools 依赖包.
原理使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),
另一个ClassLoader加载会更改的类,称为 restart ClassLoader-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
</dependencies>
<!-- 构建节点. -->
<build>
<plugins>
<!-- 这是spring boot devtool plugin -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--fork : 如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart -->
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
在此 pom.xml 已经集成了 devtools 原理离 pox.xml 注释 相当于热部署 不过比热部署快
我们新建一个helloContorller
/**
* 在这里我们使用RestController 等价于 @Controller 和 RequestBody
* @author Raven
* @date 2017年9月11日 下午9:47:40
*/
@RestController
public class HelloContorller {
@RequestMapping("/hello")
public String hello(){
return "hello";
}
/**
* 默认jackson
* @author Raven
* @date 2017年9月11日 下午10:00:48
* @return
*/
@RequestMapping("/demo")
public Demo getDemo(){
Demo demo = new Demo();
demo.setAge(25);
demo.setName("Raven");
return demo;
}
}
maven 包加载完成后 记得maven - > update 一下 , 会多处一个App 的类,该类用于启动springboot 。
App类用 @SpringBootApplication 表示这是一个springboot应用程序, 在App main 方法添加
SpringApplication.run(App.class, args); 启动 spring boot (jave application)
启动控制台可看到输出 我们访问 colntorller 方法测试 是否运行成功。
就这么点配置 mvc 都配置好了 就差JPA持久化;
———-代码Hello World 之 404 ——
1、确认访问地址是否正确:
(1)确认端口号,默认是8080,这个可以在启动的控制台进行查看;
(2)确认访问的URI地址是否填写正确,这个在启动的控制台查看是否被映射了。
2、确定注解是否正确,使用@RestController而不是@Controller,
另外@RestController等价于@Controller和@ResponseBody;
3、确定包的路径是否正确
我们需要知道的是:Spring Boot默认情况下可以扫描到的是
@SpringBootApplication所在的类的同包或者子包下的类。
4、 确定类引入的包的路径是否正确
@RestController:import org.springframework.web.bind.annotation.RestController
@RequestMapping(“/helo33”):import org.springframework.web.bind.annotation.RequestMapping
问题的提出:默认的端口号是8080,那么如何进行修改为80或者8081呢?
问题的提出:如何配置上下文(项目的名称)? http://127.0.0.1:8080/springboot/hello