最近想了解下spring-boot。在这就把学习的记录一下吧。刚开始,照例跑个hello world吧。
1、首先配置maven的pom文件:
<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>
<!-- spring boot基本环境 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.1.RELEASE</version>
</parent>
<groupId>com.durgan</groupId>
<artifactId>spring-cloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!--web应用基本环境配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2、编写代码
@Controller
@SpringBootApplication
public class SampleController {
@RequestMapping(value="/")
String home(){
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(SampleController.class, "--server.port=8081");
}
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer(){
return new EmbeddedServletContainerCustomizer(){
public void customize(ConfigurableEmbeddedServletContainer container) {
ErrorPage erroepage1 = new ErrorPage(HttpStatus.UNAUTHORIZED,"/401.html");
ErrorPage erroepage2 = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");
ErrorPage erroepage3 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");
container.addErrorPages(erroepage1,erroepage2,erroepage3);
}
};
}
}
其中@SpringBootApplication相当于@Configuration、@EnableAutoConfiguration和 @ComponentScan,你也可以同时使用这3个注解。其中@Configuration、@ComponentScan是spring框架的语法,用于代码方式创建配置信息和扫描包。@EnableAutoConfiguration是spring boot语法,表示将使用自动配置。你如果下载了spring boot源码,就会看到spring boot实现了很多starter应用,这些starter就是一些配置信息(有点类似于docker,一组环境一种应用的概念),spring boot看到引入的starter包,就可以计算如果自动配置你的应用。
EmbeddedServletContainerCustomizer 是用来自定义错误页面。需要放在应用的static目录下,默认位置是:src/main/resources/static。
有了这两步就可以直接运行,之后在浏览器输入localhost:8081查看效果了。这里的8081是代码中传的参数。如果不传就是默认的8080.
3、打包部署。
直接使用maven打包就可以了,进入项目目录运行mvn package,成功后在target目录下可以看到打包后的jar包。之后就可以java原生命令运行了。比如
java -jar spring-cloud--0.0.1-SNAPSHOT.jar --server.port=8081