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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

 

引入Web模块,需添加spring-boot-starter-web模块:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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:快速入门的主要内容,如果未能解决你的问题,请参考以下文章

SpringData 基于SpringBoot快速入门

SpringBoot -- 概述和快速入门快速构建SpringBoot工程

SpringBoot快速入门

Java 微服务 乐优网络商城 day01 源代码 SpringBoot的SpringMVC快速入门

快速入门:创建第一个SpringBoot工程

快速上手SpringBoot盘点盘点入门程序制作的四种方式(有图有代码)