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

相关推荐
Bug退退退1233 分钟前
RabbitMQ 高级特性之重试机制
java·分布式·spring·rabbitmq
小皮侠4 分钟前
nginx的使用
java·运维·服务器·前端·git·nginx·github
Zz_waiting.16 分钟前
Javaweb - 10.4 ServletConfig 和 ServletContext
java·开发语言·前端·servlet·servletconfig·servletcontext·域对象
全栈凯哥16 分钟前
02.SpringBoot常用Utils工具类详解
java·spring boot·后端
兮动人23 分钟前
获取终端外网IP地址
java·网络·网络协议·tcp/ip·获取终端外网ip地址
呆呆的小鳄鱼24 分钟前
cin,cin.get()等异同点[面试题系列]
java·算法·面试
独立开阀者_FwtCoder34 分钟前
"页面白屏了?别慌!前端工程师必备的排查技巧和面试攻略"
java·前端·javascript
Touper.38 分钟前
JavaSE -- 泛型详细介绍
java·开发语言·算法
静若繁花_jingjing1 小时前
Redis线程模型
java·数据库·redis
hello早上好1 小时前
CGLIB代理核心原理
java·spring