最近想了解下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