spring:详解spring boot

spring的优缺点

虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配

置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入

了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。

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

写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但与此同时它要求的回报也不少。

除此之外,项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要

分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开

发进度。

spring boot

Spring Boot是由Pivotal公司于2011年发起的开源项目,旨在解决Spring应用的配置和部署问题。通过自动化和简化这些过程,Spring Boot让开发者能够更加专注于应用的开发,而不是维护基础设施。

Spring 框架是为了简化开发的,而 SpringBoot 是为了简化 Spring 开发的,由此可见,使用 SpringBoot 开发将会更加的方便简捷。

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

特点

  • 功能集成:Spring Boot提供了大量的Starter POMs,可以方便地与各种常见技术整合,如JPA、Thymeleaf、MyBatis等。这大大简化了与其他技术的整合过程。而Spring MVC主要用于构建Web层,与其他技术整合需要自己配置。
  • 启动方式:Spring Boot可以创建独立的Spring应用程序,内嵌Tomcat或Jetty容器,通过main方法就可以启动应用,无需部署在Web服务器上。而Spring MVC的项目通常需要部署在Web服务器上,如Tomcat、Jetty等。

代码

pom.xml

xml 复制代码
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.springtest</groupId>
    <artifactId>mySpringTest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mySpringTest</name>
    <description>mySpringTest</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

入口文件MySpringTestApplication.java

js 复制代码
package com.springtest.myspringtest;

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

@SpringBootApplication
public class MySpringTestApplication {

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

}

接下来就可以写接口了,可以使用 spring MVC 中的那些注解,例如 @RequestMapping

相关推荐
昵称为空C3 分钟前
手撸一个动态 SQL 执行引擎:不重启服务,在线增删改查任意数据库
spring boot·后端
东坡白菜35 分钟前
破局全栈:一个前端开发的Java入门实战记录(1)
java·全栈
唐青枫41 分钟前
Java Tomcat 实战指南:从 Servlet 容器到 Spring Boot 部署
java
wsaaaqqq1 小时前
roudan:自由选择实体、灵活操作数据、快速写入数据库的 Java 框架
java
plainGeekDev5 小时前
null 判断 → Kotlin 可空类型
android·java·kotlin
糖拌西瓜皮5 小时前
Java开发者视角:深入理解Node.js异步编程模型
java·后端·node.js
plainGeekDev5 小时前
getter/setter → Kotlin 属性
android·java·kotlin
一线大码5 小时前
Smart-Doc 的简单使用
java·后端·restful
MacroZheng6 小时前
Claude Code官方桌面端正式发布,夯爆了!
java·人工智能·后端