SpringBoot(1)项目搭建+启动原理

这篇具有很好参考价值的文章主要介绍了SpringBoot(1)项目搭建+启动原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、SpringBoot简介

1、spring框架优点缺点分析

  • Spring的优点分析:

    Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单 的Java对象(Plain Old Java Object,POJO)实现了EJB的功能。

  • Spring的缺点分析

    虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配 置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入 了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。 所有这些配置都代表了开发时的损耗(配置多)。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编 写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但与此同时它要求的回报也不少。 除此之外,项目的依赖管理也是一件耗时耗力的事情(依赖管理繁重)。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要 分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。

2、SpringBoot概念简介

Spring Boot是Spring公司的一个顶级项目,和Spring Framework是一个级别的。
Spring Boot实际上是利用Spring Framework 4 自动配置特性完成。编写项目时不需要编写xml文件。发展到现在,Spring Boot已经具有很很大的生态圈,各种主流技术已经都提供了Spring Boot的启动器

3、什么是启动器

Spring框架在项目中作用是Spring整合各种其他技术,让其他技术使用更加方便。Spring Boot的启动器实际上就是一个依赖。这个依赖中包含了整个这个技术的相关jar包,还包含了这个技术的自动配置,以前绝大多数XML配置都不需要配置了。当然了,启动器中自动配置无法实现所有内容的自动配置,在使用Spring Boot时还需要进行少量的配置(这个配置不是在xml中了,而是在properties或yml中即可)。如果是Spring自己封装的启动器的artifact id名字满足:spring-boot-starter-xxxx,如果是第三方公司提供的启动满足:xxxx-spring-boot-starter。以后每次使用Spring Boot整合其他技术时首先需要考虑导入启动器。

4、Spring Boot优点

① 使用Spring Boot可以创建独立的Spring应用程序
② 在Spring Boot中直接嵌入了Tomcat、Jetty、Undertow等Web 容器,在使用SpringBoot做Web开发时不需要部署WAR文件
③ 通过提供自己的启动器(Starter)依赖,简化项目构建配置
④ 尽量的自动配置Spring和第三方库
⑤ 绝对没有代码生成,也不需要XML配置文件

5、Spring Boot版本介绍

SNAPSHOT:快照版,即开发版。
CURRENT:最新版,但是不一定是稳定版。
GA:General Availability,正式发布的版本。
SpringBoot(1)项目搭建+启动原理

6、Spring Boot的核心

  • 起步依赖
    起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。 简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

  • 自动配置
    Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定 Spring配置应该用哪个,不该用哪个。该过程是Spring自动完成的。

二、项目搭建

1、方式1

1)创建一个空的maven工程

SpringBoot(1)项目搭建+启动原理

2)配置maven

SpringBoot(1)项目搭建+启动原理

3) 添加spring boot父工程、spring依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>springboot01</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.7.10</version>
    </parent>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

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

</project>

3)创建启动类

新建启动类
Spring Boot的启动类的作用是启动Spring Boot项目,是基于Main方法来运行的。
启动类在启动时会做注解扫描(@Controller、@Service、@Repository......),扫描位置为同包或者子包下的注解,所以启动类的位置应放于包的根下

启动类与启动器区别:

  • 启动类表示项目的启动入口

  • 启动器表示jar包的坐标

必须在包中新建这个类,不能直接放入到java文件夹。
在com.buba下新建自定义名称的类(规范:XXXXApplication),可以是项目上下文路径Application文章来源地址https://www.toymoban.com/news/detail-434466.html

package com.buba;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


/**
 * @author qlx
 */

@SpringBootApplication
public class ApplicationStarter {
   
  public static void main(String[]

到了这里,关于SpringBoot(1)项目搭建+启动原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot——启动类的原理

    优质博文:IT-BLOG-CN SpringBoot 启动类上使用 @SpringBootApplication 注解,该注解是一个组合注解,包含多个其它注解。和类定义 SpringApplication.run 要揭开 SpringBoot 的神秘面纱,我们要从这两位开始就可以了。 @SpringBootApplication 注解上标有三个注解 @SpringBootConfiguration 、 @EnableAutoConf

    2024年02月05日
    浏览(27)
  • Windows操作系统AD域服务器简介、原理及 搭建操作

    1.1 AD 简介 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系。 当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,以及相互通信和

    2024年02月04日
    浏览(54)
  • springboot 项目启动不打印spring 启动日志

    今天项目遇到一个很奇怪的问题,服务在启动时,不打印spring 的启动日志。经过排查发现是因为其他的依赖引入了 log4j 的依赖,因为我们的项目用的是logback,所以项目中没有log4j 的相关配置,所以干扰到了日志的打印 下面是log4j缺失配置文件的告警日志: log4j:WARN No append

    2024年02月11日
    浏览(58)
  • SpringBoot项目没有启动按键

    问题一: pom文件正常,但是springboot包报红,同时Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found报红 解决办法: 无法识别使用哪个版本的 spring-boot-maven-plugin 包 问题二: 没有启动按键,即下图中JavaDemoApplication这里是灰色的或是Current File 解决办法: 如图中,将src包

    2024年03月10日
    浏览(65)
  • java之SpringBoot项目打包与项目启动

    执行 Maven 构建指令 package 即使在没有明确想法的情况下,打包Spring Boot项目通常遵循标准的步骤,这是一个通用的流程。 确认环境 确保开发环境中已经安装了Java和Maven或Gradle。最终的打包指令取决于使用的构建工具。 编写代码 如果已经有一个Spring Boot项目,确保代码已经编

    2024年02月11日
    浏览(41)
  • SpringBoot 项目的创建与启动

    ✅作者简介:2022年 博客新星 第八 。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:SpringBoot 框架从入门到精通 ✨特色专栏:国学周更-心性养成之路 🥭本文内容:SpringBoot 项目

    2024年02月03日
    浏览(38)
  • springboot项目如何配置启动端口

    项目启动需要一个独立的端口,所以在此记录一下。 根据配置文件的后缀书写格式略有不同。 若是.yaml后缀的配置文件,那么端口书写为 此格式切记缩进 若是.properties后缀的配置文件,那么端口书写为 两端使用等号链接 设置–工具–终端–环境变量: server.port=端口号 因为

    2024年02月03日
    浏览(43)
  • VSCode配置启动springboot项目

    本人前一段时间使用intellij,发现配置较为复杂,于是尝试用VSCode配置,发现比intellij稍方便些。写下记录以便个人往后用。 JDK下载链接:https://www.oracle.com/cn/java/technologies/downloads/#jdk20-windows 选择x64 Installer下载并安装 Maven下载链接:https://maven.apache.org/download.cgi 选择Binary zip

    2024年02月16日
    浏览(38)
  • Maven命令启动SpringBoot项目

    用Maven命令启动SpringBoot项目,记录如下: mvn spring-boot:run C:UsersAdministratorsourcereposkd-datacenterserverkd-datacentermvn spring-boot:run  

    2024年02月13日
    浏览(45)
  • Springboot中整合netty启动后,项目无法正常启动?

      1.现象描述 netty等一般放在程序启动后再启动,多以下面方式启动: 如果在 Order 后面还有其它模块被启动,那么其它模块就会被阻塞。 2.原因分析 主线程启动netty后,netty会将主线程阻塞。因此,需要采用异步方式或使用线程池来启动netty。 3.解决办法 添加异步注解@Async

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包