初涉springboot(二)
2018-11-26 07:57:10来源:博客园 阅读 ()
概述
1、环境说明
2、HelloWorld项目细节
3、小结
一. 关于环境补充
在上一篇的HellWorld项目中,我们构建SpringBoot项目,采用的是jdk1.8版本,springboot官方建议配合jdk1.7及其以上版本来开发springboot。而如springboot1.5.8中一些@Repeat注解都是jdk1.8才有的,所以建议是jdk1.8版本及以上来开发。同时,SpringBoot提供嵌入式的Tomcat,直接打成jar包便可运行。IDEA打包过程如下:
包的位置默认位置是在target目录下 。打包好后,可以通过在命令行 java jar xxx.jar 直接运行。 并且,我们可以通过解压工具看一下,这个xxx.jar中的内容。来到lib目录下,我们可以看到有导入tomcat-embed字样的包,这就是springboot内嵌的tomcat容器,可以直接运行这个springboot的jar包,不需要打成war放到webapp目录中运行。其中也导入了运行web项目所需的基本jar包,均是自动化配置。
二. Hello World项目的细节
看完了环境,接下来看看该项目的pom.xml文件,来看看为什么springboot能替我们做了这么多“人性化”的工作。
在POM文件中,我们可以看到有如下的,不同以往的配置。我们来一 一解释。
1. 父级依赖
①、首先看到我们的是springboot-helloworld.pom.xml文件中依赖了此父级依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.18.BUILD-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
②、ctrl + 左键 点击 spring-boot-starter-parent 进入此父项目,发现其也依赖一个父项目
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.18.BUILD-SNAPSHOT</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
③、点击spring-boot-dependencies,进入查看父项目 ,可以发现,这里文件中配置了大量的版本依赖属性,
ps : 在<properties>标签中,在此不截图。
可以看到,在 spring-boot-dependencies项目中配置了我们熟知的一些组件的版本,如连接池、切面、json版本。它是真正管理 SpringBoot组件版本的 管理中心。因为它的存在,只要它有配置的,我们都可以不配置依赖的版本,SpringBoot自动帮助我们配置。当然,我们也可以自己添加、修改没有的或者已有的组件的版本,只需要在我们自己项目的pom.xml文件的 <properties>属性添加即可:
spring-boot-dependencies.pom默认配置: <spring.version>4.3.20.RELEASE</spring.version>
自己的pom文件中加入即可修改:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring.version>5.0.0.RELEASE</spring.version>
</properties>
2. starter 启动器
何为“启动器”,自然是通过这个“东西”去启动对应的特定功能。同样的,我们能在父项目 spring-boot-dependencis.pom中看到,在<dependencies>标签中看到大量的 spring-boot-starter-xxx组件。再结合我们helloworld项目中的pom:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
没错,它的功能就是,我们需要什么功能的组件,就导入什么 starter ,springboot就可自动为我们添加该组件。上述我们需要springboot的web功能,就对应配上spring-boot-starter-web 组件。着实方便。
3.插件
在helloworld中的插件:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
这个插件是帮助我们打成jar包用。在初涉springboot(一)中,我们通过 package命令直接打成jar包而不是war,得益于此。
4. @SpringBootApplication 注解
在主程序入口中,我们是通过执行此注解所在类的main方法跑动项目的,这个注解标识此为主程序类,是一个Spring Boot应用。此注解要放在其他类的同级目录或子目录之下,否则会找不到其他类。(这是个坑,因为SpringBoot默认配置了扫描的位置。) 关于@SpringBootApplication注解后续会详述。
三.小结
要称为一个SpringBoot项目,就需要标注 @SpringBootApplication注解代表程序入口;
启动器starter引入功能;
父级依赖的spring-boot-dependencies.pom则配置了默认版本。
三者相互作用,跑动第一个SpringBoot项目。
如有错误,敬请斧正,以免误导他人。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
- 掌握SpringBoot-2.3的容器探针:实战篇 2020-06-11
- nacos~配置中心功能~springboot的支持 2020-06-10
- SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash