编写第一个springboot程序!
文 | 学者学者
尊敬的读者朋友,大家好,本文是《springboot2.x独门秘籍》系列的第六篇,本专题的文章将会以springboot项目实战为切入点,带着你应用spring、springboot的相关知识,并手把手教你整合持久层框架、安全框架、web框架等,让springboot称为你面试和工作中的加分项。文末还有项目源码和额外赠送的编程资料哟!点击蓝色字体可查看 往期精选文章!
01 学习环境
- windows10操作系统
- jdk1.8.0 + maven3.6.0
- myeclipse编辑器
02 本文主题
- 从本质上理解spring和springboot
- 介绍spring的核心:容器!
- 介绍spring的自动扫描和自动装配
- 手把手教你构建第一个springboot程序
03 了解Spring!
在学习springboot框架前,我们需要大致了解springboot框架的老大哥spring框架。
spring的核心是提供了一个容器(container),通常称为spring应用上下文,(spring application context),它们会创建和管理应用组件,这些组件也可以称为bean,会在spring应用上下文中装配在一起,组成完整的应用程序。
将bean装配在一起的行为是通过依赖注入(dependency injection ,DI)实现的,使用依赖注入的应用依赖于容器创建和维护所有的组件,并将它们注入到所需的bean中。
在核心容器之上,spring以及一系类的库提供了web框架,持久层方案、安全框架、运行时监控,微服务支持,反应式编程以及众多现代应用开发所需特性。
在历史上,spring容器将bean装配在一起是通过一个或多个xml文件实现的,通过xml文件描述组件间的关联关系。而最近的版本中了基于Java的配置更为常见。
比如@Configuration注解会告诉spring这是一个配置类,会为spring容器提供bean。
@Bean注解表名这些方法返回的对象将会以bean的形式添加到spring容器中,通常bean对应的 bean id与定义它们的方法名相同。
基于Java的配置可以带来的收益包括更强的类型安全性以及更好的重构能力,更方便。
spring的自动配置起源于组件扫描(component sacning )和自动装配技术(autowiring),通过组件扫描,spring可以发现应用类路径下的组件,并将它们创建成spring容器中的bean。
04 了解springboot!
随着spring的扩展框架springboot的引入,自动配置的能力已经远超过组件扫描和自动装配,大幅提高了生产效率,不仅如此,springboot还大幅度减少了构建配置所需的显示配置的数量。
目前,从互联网公司的招聘网站上看出,springboot框架以及成为web开发工程师的必学框架,所以不管是个人提升还是跳槽、涨薪等,认真学习springboot框架都会为你的成为你将来工作中的加分项。
05 构建springboot项目方法介绍
本文中,我们将创建一个名为demo1的项目,我们有很多种初始化应用的方案,尽管可以咋IDE中一步一步创建,但是这无疑是浪费时间,因此我们将重点学习如何使用工具初始化springboot程序。
方案1:Spring Initializr,这是一个基于浏览器的web应用,专门用于spring应用的自动构建,在浏览器中直接访问https://start.spring.io/即可。
在这个页面中,我们只需呀填写一些基本的springboot应用信息,比如使用maven构建还是gradle构建,使用什么语言、基于什么springboot版本,以及项目的group和Artifact Id,
我们还可以在下方的输入框中搜索并选择你需要的依赖,比如web依赖、devtools依赖,thymeleaf依赖等。一切准备工作结束后,即可点击General按钮,Spring Initializr即可为我们初始化项目并下载ZIP包到本地,解压该压缩包,然后导入编辑器即可。
方案2:spring tool suite,这是一款spring官网推出的方便利用spring相关框架的开发工具,界面风格和eclipse,myeclipse相同,需要下载安装后才能使用。
方案3:在InteliJ IDEA中构建新项目
除了上述方法,还可以使用NetBeans、springboot的命令行接口等构件项目,具体方法视情况而定,如果你的公司允许你在外网开发,那么使用Spring Initializr最为方便,如果要求在封闭的环境下开发,那么在编辑器中构建项目也是个好办法。
06 构建springboot项目实战
下面我将示范如何使用Spring Initializr构建springboot项目。
-
依次填入项目信息,前三项分别是项目构建方式,开发语言、版本号,选择默认即可
-
Group表示项目开发组织,比如com.java
-
Artifact ID一栏填入项目名称,如demo1
-
打开optional一栏,还可以填入项目描述、打包方式、java版本,除了项目描述,其余默认即可。
-
dependencies一栏,搜索web、devtools并选择依赖即可(如果你需要其它组件,如安全组件、模板引擎等你可以搜索相关依赖并选择即可)。
-
点击General按钮,下载项目zip包。
-
解压该项目包,在myeclipse编辑器中选择【file】=>【import】=>【maven】=>【existing maven project】=>选择解压好的项目文件夹,待资源更新完毕。
-
由于我们的项目是用maven构建的,所以在编辑器中导入项目后,需要右键项目,选择maven菜单下的【download sources】来下载项目所需依赖包。
-
依赖下载完毕后,运行项目启动文件即可启动springboot项目,启动文件默认在【src/main/java】=>【com/java/demo1】目录下,启动文件名称默认为项目名称+Application.java,例如我的启动文件为Demo1Application.java,右键该文件,run as java application即可启动项目。
-
项目启动后会在控制台看到【Tomcat started on port(s): 8080 (http) with context path ''】等字样,表明项目以及在8080端口启动,在浏览器输入【http://localhost:8080/】即可正常访问。
注意:由于这是我们的第一个springboot示例程序,所以我们没有添加过多依赖,也没有配置控制器和视图,访问http://localhost:8080/后,出现Whitelabel Error Page的字样即是项目启动成功。
到此,我们已经了解了什么是spring、什么是springboot,以及手把手演示了如何搭建第一个springboot项目,下一篇文章中,我们将基于该示例项目剖析springboot项目的细节。
如果你需要项目源代码以及课程资料,可点击后方蓝色链接:项目源代码