做平台网站一般有php还是js南阳市网站建设
做平台网站一般有php还是js,南阳市网站建设,wordpress后台 菜单,医院 网站后台管理#x1f3e1;浩泽学编程#xff1a;个人主页 #x1f525; 推荐专栏#xff1a;《深入浅出SpringBoot》《java项目分享》 《RabbitMQ》《Spring》《SpringMVC》 #x1f6f8;学无止境#xff0c;不骄不躁#xff0c;知行合一 文章目录 前言一、SpringBoot… 浩泽学编程个人主页 推荐专栏《深入浅出SpringBoot》《java项目分享》 《RabbitMQ》《Spring》《SpringMVC》 学无止境不骄不躁知行合一 文章目录 前言一、SpringBoot项目结构1.启动类的位置2.pom文件startparent打包 二、依赖管理特性三、自动配置特性总结 前言
SpringBoot项目结构特性介绍常用到的基本都讲解了很详细基于官方文档讲解。 一、SpringBoot项目结构 IDEA创建非常简单不是主要讲解我使用的是IDEA2023.3这里默认你Maven环境都配好了 创建完成后的文件结构如下 javajava包下存放的是开发创建的类、接口等。 这里restart是我的工程名同时它就是项目工程文件夹开发所创建的包、类基本都在这文件夹下。SpringBoot启动类这里的启动类是RestartApplicationSpringBoot项目创建完成后默认的启动类名称是首字母大写的项目工程名Application放在工程文件夹下即工程文件夹 / 启动类。不在嵌套文件夹。 resources 存放静态资源文件的地方html、css、照片、配置文件properties文件yaml文件等。 pom.xml 引入依赖文件用于引入你工程所需要的依赖。
1.启动类的位置 官方建议最佳实战就是将启动类放在工程文件夹下的第一层不需要再嵌套文件夹。官方说SpringBootApplication 注解一般都是注解在启动类上的。它默认会扫描当前类下的所有子包也就是与当前启动类同级文件夹的包及其下的所有包如下图的customer、order包及其下的所有包。例如如果你正在编写一个JPA应用程序你的 Entity 类只有定义在启动类的子包下才能被扫描加载到。这样的好处也显而易见SpringBootApplication 默认只会扫描加载你项目工程中的组件。 //初始创建的SpringBoot项目的启动类都是如下代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
public class RestartApplication {public static void main(String[] args) {SpringApplication.run(RestartApplication.class, args);}}2.pom文件 大多数Spring Boot应用在POM的 parent 部分使用 spring-boot-starter-parent。 spring-boot-starter-parent 是一个特殊的starter提供有用的Maven默认值。需要的依赖在 dependency 标签内导入需要的 dependeny
start Starter是一系列开箱即用的依赖你可以在你的应用程序中导入它们。 通过你Starter可以获得所有你需要的Spring和相关技术的一站式服务免去了需要到处大量复制粘贴依赖的烦恼。 例如如果你想开始使用Spring和JPA进行数据库访问那么可以直接在你的项目中导入 spring-boot-starter-data-jpa 依赖。也就是说现在你想要什么依赖只需要spring-boot-start-xxx就可以帮你自动导入这方面的所有常规依赖 Starter含了很多你需要的依赖以使项目快速启动和运行并拥有一套一致的、受支持的可管理的过渡性依赖。 例子 在idea的终端输入 mvn dependency:tree打印了一个项目依赖的树状图如下 你可以看到 spring-boot-starter-parent 本身没有导入什么依赖就是一些基本的依赖如spring方面的日志方面的等。 要导入必须的依赖需要编辑 pom.xml 文件。 假如正在开发一个Web应用程序我们添加一个 spring-boot-starter-web 依赖项
dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency
/dependencies如果你再次运行 mvn dependency:tree 你会看到现在有一些额外的依赖包括Tomcat web服务器等。基本将常规依赖都引入进来了。
parent spring-boot-starter-parent 是一个特殊的starter它在POM.xml里面声明了spring boot的各个依赖及其版本。子项目直接继承它子项在导入 spring boot 依赖时不需要声明版本号。 通俗的说parent部分就是在你导入spring-boot-start–parent时自动帮你冲裁了版本号你在dependenys标签里的依赖可以不用写版本号 提问不想使用仲裁版本怎么办 在pom.xml重写配置如下面的代码这里以mysql为例换成5.1.43版本
propertiesmysql.version5.1.43/mysql.version
/properties打包 使用Maven快速打包 IDEA内终端运行mvn package
$ mvn package[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:3.2.0-SNAPSHOT:repackage (default) myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
另一种
运行后你会发现工程内多个target文件夹
如果你查看 target 目录你应该看到 项目名-0.0.1-SNAPSHOT.jar 没有target可以在从电脑中找到项目文件夹里面应该能找到target文件夹在jar包所在文件夹打开电脑终端运行java -jar 项目名-1.0-SNAPSHOT.jar IDEA终端运行java -jar target/myproject-0.0.1-SNAPSHOT.jar
$ java -jar target/myproject-0.0.1-SNAPSHOT.jar. ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/:: Spring Boot :: (v3.1.2-SNAPSHOT)
....... . . .
....... . . . (log output here)
....... . . .
........ Started MyApplication in 0.999 seconds (process running for 1.253)
要退出应用程序按 ctrl-c。 如果你想看看这jar里面到底有什么东西你可以使用 jar tvfjar tvf target/项目名-0.0.1-SNAPSHOT.jar 二、依赖管理特性 Spring Boot的每个版本都提供了一个它所支持的依赖的列表。 在实践中你不需要在构建配置中为这些依赖声明版本因为Spring Boot会帮你管理这些。 当你升级Spring Boot本身时这些依赖也会一同升级。(所以现在你联系一下parent和start是不是豁然开朗) 开发导入starter场景启动器 spring-boot-starter-* * 就是某种场景只要引入starter这个场景的所有常规需要的依赖我们都自动引入更多SpringBoot所有支持的场景*-spring-boot-starter 第三方为我们提供的简化开发的场景启动器。
所有场景启动器最底层的依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion3.1.2/versionscopecompile/scope
/dependency无需关注版本号自动版本仲裁 引入依赖默认都可以不写版本引入非版本仲裁的jar要写版本号。 可以修改默认版本号 查看spring-boot-dependencies里面规定当前依赖的版本 用的 key。在当前项目里面重写配置如下面的代码。
propertiesmysql.version5.1.43/mysql.version
/propertiesIDEA快捷键 ctrl shift alt U以图的方式显示项目中依赖之间的关系。alt ins相当于Eclipse的 Ctrl N创建新类新包等。
三、自动配置特性
自动配好Tomcat 引入Tomcat依赖。配置Tomcat
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactIdversion3.1.2/versionscopecompile/scope
/dependency自动配好SpringMVC 引入SpringMVC全套组件自动配好SpringMVC常用组件功能 自动配好Web常见功能如字符编码问题 SpringBoot帮我们配置好了所有web开发的常见场景
public static void main(String[] args) {//1、返回我们IOC容器ConfigurableApplicationContext run SpringApplication.run(MainApplication.class, args);//2、查看容器里面的组件String[] names run.getBeanDefinitionNames();for (String name : names) {System.out.println(name);}
}这里截取了一部分可以看出里面SpringBoot真的很强大不需要SSM一样导入一堆依赖。
默认的包结构 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来无需以前的包扫描配置想要改变扫描路径 SpringBootApplication(scanBasePackages“com.dragon”)ComponentScan 指定扫描路径
SpringBootApplication
等同于
SpringBootConfiguration
EnableAutoConfiguration
ComponentScan(com.lun)各种配置拥有默认值 默认配置最终都是映射到某个类上如MultipartProperties配置文件的值最终会绑定每个类上这个类会在容器中创建对象 按需加载所有自动配置项 非常多的starter引入了哪些场景这个场景的自动配置才会开启SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面
下面是参考文档有兴趣的朋友可以看看 Spring Boot Maven 插件文档 中文文档——SpringBoot入门 总结
以上就是SpringBoot的特性及结构的具体讲解。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87801.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!