SpringBoot入门
一、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应用的配置文件;可以修改一些配置文件。