spring boot和spring的区别是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot和spring的区别是啥?相关的知识,希望对你有一定的参考价值。
参考技术Aspring 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】:maven 包目标和 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 的 Spring Security 默认凭据是啥?
Spring Boot和spring MVC之间的区别[重复]
spring Boot 和 Angular JS:处理身份验证的最佳方法是啥?