springboot:快速入门
Posted cdwxs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot:快速入门相关的知识,希望对你有一定的参考价值。
为什么要用springboot,
传统的项目ssh,ssm,在做项目整合时候,都是通过xml配置文件来实现,需要很多jar,有时间jar直接的冲突问题,整合起来繁琐。springBoot是一个快速开发的框架,能够快速的整合常用第三方框架(内部原理是通过Mave依赖关系,实现通过Maven集成方式),简化XML配置,全部采用注解形式,内置切入http服务器(包括Tomcat、Jetty),帮助开发者能够实现快速开发,最终以Java应用程序执行;SpringBoot的Web组件默认集成的是SpringMVC框架。
SpringBoot和SpringCloud区别
Springboot是一个快速开发的框架,能够帮助快速整合常用的第三方框架,开发采用注解形式,简化了xml的配置,最终以Java应用程序进行执行。
SpringCloud是一套目前最完整的微服务框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、精选决策、分布式会话等集成服务。 SpringCloud依赖与SpringBoot组件。SpringBoot可以离开SpringCloud独立开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系。
SpringBoot和SpringMVC区别
SpringBoot内置一个Web组件 默认集成的是SpringMVC框架。但是springboot启动springMVC时候没有传统的配置(传统配置文件是sprigmvc_xml)? springmvc3.0支持注解,springMVC(使用java代码启动springMVC),内置使用了注解@EnableWebMvc来启动sprngmvc;
使用spring boot有什么好处
在没有springboot之前,使用ssh或者ssm时候都会做相应的xml的配置后,如下
- 1)配置web.xml,加载spring和spring mvc
- 2)配置数据库连接、配置spring事务
- 3)配置加载配置文件的读取,开启注解
- 4)配置日志文件等
现在有使用spingboot我们不在去写配置文件,就能简单、快速、方便的写完一个工程。
快速入门
构建maven项目
- 1、访问http://start.spring.io/
- 2、选择构建工具Maven Project、Spring Boot的工程基本信息,点击“Switch to the full version.可参考下图所示:
- 3、点击Generate Project下载项目压缩包
- 4、解压后,使用idea导入项目即可。
springboot项目接口介绍如下图
如上图所示,Spring Boot的基础结构共三个文件:
- src/main/java 程序开发以及主程序入口
- src/main/resources 配置文件
- src/test/java 测试程序
src/main/resources 源文件目录,并在该目录下 application.properties 文件、static 和 templates 的文件夹。
application.properties:用于配置项目运行所需的配置数据。
static:用于存放静态资源,如:css、js、图片等。
templates:用于存放模板文件。
另外,spingboot建议的目录结果如下:
root package结构:com.example.myproject
com
+- example
+- myproject
+- Application.java
|
+- domain
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- controller
| +- CustomerController.java
|
- 1、Application.java 建议放到根目录下面,主要用于做一些框架配置
- 2、domain目录主要用于实体(Entity)与数据访问层(Repository)
- 3、service 层主要是业务类代码
- 4、controller 负责页面访问控制
采用默认配置可以省去很多配置,当然也可以根据自己的喜欢来进行更改
最后,启动Application main方法,至此一个java项目搭建好了!
引入web模块
1、pom.xml中添加支持web的模块:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
前的pom.xml
内容如下,仅引入了两个模块:
<dependencies>
|
引入Web模块,需添加spring-boot-starter-web
模块:
<dependency>
|
spring-boot-starter-parent作用整合第三方常用框架依赖信息(各种依赖关系),也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了
spring-boot-starter-web作用 是springweb核心组件,是springboot整合springMVC,原理是Maven依赖关系,.
spring-boot-maven-plugin作用 如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。如果使用maven 的spring-boot:run的话是不需要此配置的。(我在测试的时候,如果不配置下面的plugin也是直接在Main中运行的。)
2、编写controller内容:
@RestController 在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写 Restful接口;
@RestController=类上加@Controller+方法加上@RequestBody
RestController 源码如下:
@EnableAutoConfiguration 注解:扫包范围,默认当前类
springboot启动方式:
以上是springboot第一种启动方式;
SpringBoot启动方式3 @SpringBootApplication
@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解 扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下所有的类都可以扫到。
以上是关于springboot:快速入门的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot -- 概述和快速入门快速构建SpringBoot工程