当前位置: 首页 > news >正文

猿创征文|SpringBoot概述及在idea中创建方式

目录

SpringBoot概念

 spring的缺点

1、配置繁琐

2、依赖繁琐

SpringBoot功能

1、自动配置

2、起步依赖

3、辅助功能

  SpringBoot快速入门

需求说明:

步骤说明:

Spring程序与SpringBoot程序对比

基于Springboot官网创建项目

使用阿里云创建springboot项目

手动创建maven成springboot项目

 隐藏指定文件/文件夹


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功能上的增强,而是提供一种快速使用Sspring的方式

  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中隐藏指定文件或指定类型文件

相关文章:

  • 计算机毕业设计python基于django在线课程网站 含资源,考试,论坛等功能
  • Bean 的作用域和生命周期
  • 【博客484】alertmanager-----告警处理源码剖析
  • 第7章 - 多无人机系统的协同控制 --> 无人机模型分析
  • [Unity独立/合作开发]实现背包系统中物品的拾取拖拽掉落还有换位置
  • 【数据结构】经典八大排序算法(万字大总结+动图)
  • 使用vue-cli搭建SPA项目
  • Windows搭建hexo教程
  • 多线程案例
  • 服务器使用Nginx部署Vue项目
  • 尚医通(二)
  • Java实现登录功能(一)
  • MySQL-插入、更新与删除数据
  • 秋招每日一题T31——二叉搜索子树的最大键值和
  • 天龙八部科举答题问题和答案(全7/8)
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • axios 和 cookie 的那些事
  • ES6 ...操作符
  • Javascript设计模式学习之Observer(观察者)模式
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JS变量作用域
  • js学习笔记
  • Laravel 中的一个后期静态绑定
  • mockjs让前端开发独立于后端
  • SpingCloudBus整合RabbitMQ
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Travix是如何部署应用程序到Kubernetes上的
  • 强力优化Rancher k8s中国区的使用体验
  • 全栈开发——Linux
  • 设计模式走一遍---观察者模式
  • 实现菜单下拉伸展折叠效果demo
  • 使用common-codec进行md5加密
  • 使用Swoole加速Laravel(正式环境中)
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 追踪解析 FutureTask 源码
  • 走向全栈之MongoDB的使用
  • 仓管云——企业云erp功能有哪些?
  • #stm32整理(一)flash读写
  • $.proxy和$.extend
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (bean配置类的注解开发)学习Spring的第十三天
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (差分)胡桃爱原石
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (转)jQuery 基础
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net打印*三角形
  • .NET中的十进制浮点类型,徐汇区网站设计
  • @vue/cli 3.x+引入jQuery
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解