Spring boot:
首先Spring Boot不是一个框架,它是一种用来轻松创建具有最小或零配置的独立应用程序的方式。这是方法用来开发基于Spring的应用,但只需非常少的配置。它提供了默认的代码和注释配置,快速启动新的Spring项目而不需要太多时间.
使用spring boot的意义:
-
为所有Spring开发提供一个基本的,更快,更广泛的入门体验。
-
开箱即用,但随着需求开始偏离默认值,快速启动。
-
提供大型项目(例如嵌入式服务器,安全性,度量,运行状况检查,外部化配置)常见的一系列非功能特性。
-
绝对没有代码生成以及不需要XML配置,完全避免XML配置。
-
为了避免定义更多的注释配置(它将一些现有的 Spring Framework 注释组合成一个简单的单一注释)
-
提供一些默认值,以便在短时间内快速启动新项目。
- 简化基于Java的应用程序开发,单元测试和集成测试过程。
- 通过提供一些默认值来减少开发,单元测试和集成测试时间。
- 提高生产力。
-
当使用默认值时,Spring Boot有自己的看法。如果不指定详细信息,它将使用其自己的默认配置。如果想要持久化,但是没有在POM文件中指定任何东西,那么Spring Boot会将Hibernate带有
HSQLDB
数据库的配置作为JPA提供者
-
为大型项目(例如嵌入式服务器,安全性,度量,健康检查,外部化配置)提供许多非常常见的非功能特性/解决方案。
复制了一段介绍文字后,开始编写一个spring boot的hello word 项目:
首先查看java的环境:
使用excipse创建一个maven 项目:
编辑pom 文件 导入spring boot 所需jar包
<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.springboot</groupId>
<artifactId>Test_myspringboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Test_myspringboot</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.3.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
然后创建spring boot 启动类:
/**
* Test_myspringboot
* App.java
*/
package com.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
/**
* @author xuchuang
* @updateTime 2017年12月20日 下午3:53:53
*/
@SpringBootApplication
public class App {
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
}
启动 发现端口被占用。。。于是自定义了端口号:如下
/**
* Test_myspringboot
* App.java
*/
package com.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
/**
* @author xuchuang
* @updateTime 2017年12月20日 下午3:53:53
*/
@SpringBootApplication
public class App implements EmbeddedServletContainerCustomizer{
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort(6636);
}
}
成功启动,现在写一个rest服务!
创建一个服务类:
/**
* Test_myspringboot
* Controller_test.java
*/
package com.springboot.Test_myspringboot;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author xuchuang
* @updateTime 2017年12月20日 下午3:38:31
*/
@RestController
public class Controller_test {
@RequestMapping("/hello")
String home() {
return "Hello World!";
}
}
访问:localhost:6636/hello
成功返回hello word ! hello word 编写完毕!