一、SpringBoot入门

1、SpringBoot简介

简化Spring应用开发的一个框架

整个Spring技术栈的一个大整合

javaEE开发的一站式解决方案

2、微服务

2014,martin fowler

微服务:架构风格(服务微化)

一个应用应该是一组小型服务;可以通过HTTP的方式进行互通

每一个功能元素最终都是一个可独立替换和独立升级的软件单元;

3、SpringBoot HelloWorld

功能:浏览器发送hello请求,服务器接受请求并处理,响应HelloWorld字符串

1、创建一个maven工程;(jar)

2、导入springboot的依赖

    <!--SpringBoot的版本仲裁中心,以后我们导入依赖默认是不需要写版本的-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>
    <!--启动不同类型的项目,导入相应的starter依赖即可,此处是web应用,导入spring-boot-starter-web-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

3、编写一个主程序:启动SpringBoot

/*
* @SpringBootApplication标注一个主程序类,说明这是一个SpringBoot应用。
*/
@SpringBootApplication
public class HelloWorldApplication {
    public static void main(String[] args) {
        //spring应用启动起来,run方法的参数为@SpringBootApplication注解的类。
        SpringApplication.run(HelloWorldApplication.class,args);
    }
}

4、编写一个相关的Controller、Service


//@ResponseBody/*这个类的所有方法返回的数据直接写给浏览器(如果写在方法上作用于对应方法),如果是对象转为json数据*/
//@Controller
@RestController/*在4.2版本以后,RestController相当于ResponseBody,Controller两个注解*/
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "Hello World";
    }
}

直接运行main方法,启动SpringBoot,浏览器发送hello请求,即可访问

5、简化部署

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

将这个应用打成jar包,直接使用java-jar的命令进行执行。

6、使用Spring Initializer 快速创建SpringBoot项目

newproject–>Spring Initializer选择我们项目需要的模块,向导会自动联网创建SpringBoot项目:

默认生成的SpringBoot项目: - 主程序已经生成好了,我们只需要写我们自己的逻辑 - resource文件夹的目录结构 * static:保存所有的静态资源:js css images;
* templates: 保存所有的模板页面;(SpringBoot默认jar包使用嵌入式的Tomcat,默认不支持JSP页面);可以使用模板引擎(freemarker、thymeleaf); * application.properties:SpringBoot应用的配置文件;可以修改一些配置文件。