spring boot和spring的区别是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot和spring的区别是啥?相关的知识,希望对你有一定的参考价值。

参考技术A

spring boot和spring的区别是什么?

二者主要区别是:

1、Spring Boot提供极其快速和简化的操作,让 Spring 开发者快速上手。

2、Spring Boot提供了 Spring 执行的预设配置。

3、Spring Boot为通用 Spring专案提供了很多非功能性特性,例如:嵌入式 Serve、Security、统计、健康检查、外部配置等等。

at the Spring Festival 和 in the Spring Festival 的区别是什么?

根据具体语境
单独指春节那天用on或at
如果是一段长的假期可以用in

spring中@Service和@Controller的区别是什么

@Service是用来标注业务层元件
而@Controller是MVC中的C
其作用类似于struts中的@Action

功能上没有任何区别,只是进行区分后,可读性增强,比没有区分要更加容易明白一个被载入的bean是什么用处的,比如service标示业务bean,controller标示控制层的bean,还有个表示持久层的bean的最难记,单词忘了,大概是re...y,还有一个c开头的代表通用的!

注解,只是用到的地方不同,后一个是表现层的注解,前一个是业务层的注解

spring和struts2的区别是什么?

Struts2 简单来说,就是一个拦截器栈 也就是一系列的拦截器。 处理使用者的请求,OGNL的使用,表单验证 等都是预设的拦截器在起作用。
而spring的拦截器,主要体现在AOP的事务管理方面,还有比如一些错误或者异常的日志的显示 也是通过配置spring的log拦截器来实现的。
拦截器 顾名思义 就是拦截一些请求并加以相应的处理。所以广义来说 spring和 struts2的拦截器的工作原理都一样。只是功能不一样而已

Spring Festival couplets 和 New Year scrolls的区别是什么

前者表示春节,是特指中国等地区的节日,后者表新年,是西方的12月31跨年那天

spring boot和spring的区别

springmvc只是spring其中的一部分。 spring 可以 支援 hibernate ,ibatis ,JMS,JDBC 支援事务管理, 注解功能,表示式语言,测试 springmvc 就是一个简单的web 框架,上手很快,可以代替SSH框架。 springmvc 比 struts2 效能优一些。

spring boot是在spring基础上搭建的全新的微框架,其目的是简化spring搭建和开发过程

spring-boot:repackage 和 mvn package 的区别

【中文标题】spring-boot:repackage 和 mvn package 的区别【英文标题】:Difference between spring-boot:repackage and mvn package 【发布时间】:2017-08-12 18:53:27 【问题描述】:

在阅读了 Spring 文档和网络上的其他一些文章后,我仍然很困惑 Spring Boot Maven 插件的 spring-boot:repackage 和常规 mvn 包 有什么区别>.

我认为 mvn package 创建了一个包含所有依赖项的 jar,那么 Spring 使用该插件的真正原因是什么?

【问题讨论】:

I've thought that mvn package creates a jar with all dependencies included 在@Tome 的响应中添加:“..除非您的 POM 是 spring-boot-starter-parent 的子级”,在这种情况下,mvn package 将运行 spring-boot:repackage 目标,从而创建胖 JAR。 【参考方案1】:

Spring 重新打包在 Maven 生命周期的打包阶段构建的 jar 或 war。以下示例显示了目标目录中重新打包的 jar 和原始 jar:

$ mvn package
$ ls target/*.jar
target/myproject-1.0.0.jar target/myproject-1.0.0.jar.original

如果你不包含配置,你可以自己运行插件(但前提是包目标也被使用)。例如:

$ mvn package spring-boot:repackage
$ ls target/*.jar
target/myproject-1.0.0.jar target/myproject-1.0.0.jar.original

使用link查看spring网站的更多细节

【讨论】:

如果使用<packaging>jar</packaging>指令,可以生成可执行的自给自足jar:java -jar target/mymodule-0.0.1-SNAPSHOT.jar 对不起,我没有在这里得到区别......所以你在两种情况下都输出相同的输出?【参考方案2】:

mvn 包创建一个 jar 或 war。

spring boot 插件获取该 jar 或 war 并重新打包它们以使它们可以从命令行执行(即不需要应用服务器)。

来自插件文档:

“重新打包现有的 JAR 和 WAR 档案,以便可以使用 java -jar 从命令行执行它们。”

【讨论】:

好的,所以我认为这也是通过常规包完成的。我现在是否正确,您不能只是 java -jar 一个常规包?为了使其可执行,该常规包还应该做什么? spring-boot 插件究竟对那个常规包做了什么?如果我看起来很困惑,我很抱歉,我只是没有从他们的文档中理解它。【参考方案3】:

ma​​ven 包目标和 spring-boot:repackage 目标在本质上是不同的。 spring-boot 重新打包目标主要是使用java -jar *.jar 从命令行本身制作一个JAR 或WAR 可执行文件,而maven package 目标将编译后的代码打包成可分发的格式,例如JAR。它是spring-boot 重新打包目标,重新打包 maven 生成的 JAR 以指定主类并使用 嵌入式容器 使其可执行

Maven 包

通过同名的 POM 元素为项目设置打包的第一种也是最常用的方法。某些 有效的包装值为 jar、war、ear 和 pom。如果没有包装 值已指定,默认为jar。

当一个包被定义时,每个包都包含一个绑定到特定阶段的目标列表,jar包将绑定 以下目标来构建默认生命周期的各个阶段: 流程资源,编译,流程测试资源,测试编译,测试,打包,安装,部署。

Spring-boot:repackage

要包含的插件是:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.1.4.RELEASE</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

配置重新打包在 Maven 生命周期的打包阶段构建的 jar 或 war。

所以,一旦 spring-boot-maven-plugin 被包含在你的 pom.xml 中,它会自动尝试使用 spring-boot:repackage 目标重写档案以使其可执行。您应该使用常用的打包元素配置您的项目以构建 jar 或 war(视情况而定)。

参考:https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html

【讨论】:

以上是关于spring boot和spring的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

spring boot应用场景是啥?做APP后端接口合适吗

Spring Boot 的 Spring Security 默认凭据是啥?

Spring Boot和spring MVC之间的区别[重复]

spring Boot 和 Angular JS:处理身份验证的最佳方法是啥?

spring 和 springmvc spring boot优点及区别

spring 和 springmvc spring boot优点及区别