SpringBoot概述及在idea中创建方式

 

SpringBoot概念

SpringBoot提供了一种快速使用Spring的方式,基于约定大于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的diam编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期,2014年4月,SpringBoot1.0.0发布。Spring的顶级项目之一(spring官网)。

 

spring的缺点

1、配置繁琐

虽然Spring的组件代码是轻量级的 ,但他的配置确实重量级的。一开始,Spring用xml配置,而且是很多xml配置,Spring2.5一引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显示xml配置。Spring3.0引入基于java的配置,这是一种类型安全的可重构配置方式,可以代替xml。

所有这些配置都代表了开发时的损耗,因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编写可配置挤占看编写应用程序逻辑的时间。

2、依赖繁琐

项目的依赖管理也是一键耗时耗力的事情,在环境待见时,需要分析要导入哪些库的坐标,而且还要分析导入预支有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容会严重阻碍项目进度

 

SpringBoot功能

1、自动配置

SpringBoot的自动配置是一个运行时(准确的说是应用启动时)的过程,这个过程是SpringBoot自动完成的

2、起步依赖

起步依赖本质上是一个Maven项目模型(project Object Model,pom),定义了对其他库的传递依赖,这些东西加载一起及支持某项功能,简单的说,起步依赖就是将局别某种功能的坐标打包到一起,并提供一些默认的功能

3、辅助功能

提供了一些大型项目中常见的非功能特性,如嵌入式服务器(如内嵌tomcat,只需运行一个main即可)、安全等

Spring Boot 并不是对Spring功能上的增强,而是提供一种快速使用spring的方式

 

SpringBoot快速入门

 

需求说明:

搭建SpringBoot工程,定义BootController.hello()方法,返回Hello SpringBoot

 

步骤说明:

①创建一个空项目

②选择Spring Initializr勾选默认

③定义Controller

④编写引导类

⑤启动测试

创建一个模块,按照这写法,支持java 8

我们开发一个web,springmvc的所以勾选web下的springweb

创建完成之后,基本都给你实现好了

pom.xml下

<!--	创建一个父工程-->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.7.3</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	
	<properties>
		<java.version>1.8</java.version>
	</properties>
<!--	导入依赖-->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

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

启动类也是创建好的

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//启动类
@SpringBootApplication
public class Springboot01Application {

	public static void main(String[] args) {
		SpringApplication.run(Springboot01Application.class, args);
	}
}

手动创建一个controller包,创建一个BootController类

package com.springboot01.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/springboot")
public class BootController {

  @RequestMapping("/hello")
  public String HelloBoot(){
      System.out.println("spring boot  running... ");
      return "hello SpringBoot";
  }
}

运行Application启动类

手动输入localhost:8080/类访问路径/方法访问路径

springboot所需要的最基本的

pom.xml 和Application类(启动类)

 

Spring程序与SpringBoot程序对比

基于idea开发Spirngboot程序需要确保联网且能加载到程序框架结构

小结:

1、开发SpringBoot程序可以根据向导进行联网快速制作

2、SpringBoot程序需要基本JDK8进行制作

3、spring Boot程序中需要使用何种功能通过勾选技术

4、运行SpringBoot程序通过远行Application程序入口进行

 

基于Springboot官网创建项目

地址:springboot官网创建项目

完成之后点击创建就会生成一个zip包解压缩,导入idea中即可

 

使用阿里云创建springboot项目

国内速度更快

http://start.aliyun.com

注意事项:

阿里云提供的坐标版本较低,如果需要使用高版本,进入工程后,在pom.xml中修改

阿里云提供的工程模版与Spring官网提供的略有不同

 

手动创建maven成springboot项目

需要导入pom.xml和创建Application类

     <dependencies>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
  </dependencies>
<!--直接导入,相当于parent-->
  <dependencyManagement>
      <dependencies>
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-dependencies</artifactId>
              <version>${spring-boot.version}</version>
              <type>pom</type>
              <scope>import</scope>
          </dependency>
      </dependencies>
  </dependencyManagement>

创建启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Springboot0102Application {

  public static void main(String[] args) {
      SpringApplication.run(Springboot0102Application.class, args);
  }
}

 

隐藏指定文件/文件夹

Idea中隐藏指定文件或指定类型文件

关于SpringBoot概述及在idea中创建方式的文章就介绍至此,更多相关SpringBootidea创建内容请搜索编程宝库以前的文章,希望以后支持编程宝库

 1. JAVA 内存模型 (JMM)JMM是用来干嘛的?:《Java虚拟机规范》中曾试图定义一种“Java内存模型”(Java Memory Model,JMM)来屏 ...