一杯咖啡 ☕️ 开启一天美好心情,今天我们看看Springboot的核心注解。它们是:
- @SpringBootApplication
- @EnableAutoConfiguration
- @ComponentScan
- @Configuration
离开实战都是空谈,我们通过一个所有程序员都逃不掉的模块 – 用户登录 来说明。
源代码下载
Springboot 实战 - 用户登录
用户登录看起来是一个简单的功能,但初学不知道从哪里入手。实际项目中要考虑的事情还要多一些。我们不妨把这些都覆盖到,将这个任务分成几个阶段讲细讲透,并一一实现。
阶段目标
今天的目标从最基础的环境搭建开始,直到程序运行起来,看见登录页面。
具体步骤包括:
- 搭建开发环境
- 使用Springboot创建项目
- 写登录页面,并运行程序
搭建开发环境
+
开发环境包括
- JDK 14 : 到今天为止 JDK都出到版本15了,业界实际项目中使用的主流版本是 1.8。主要是Java出新版本太快了,另外新版本中一些新特性并不是人人都需要。
- Intellij IDEA: 工于善其事,必先利其器。 V哥多年的开发经验告诉我这是目前最好的Java编程工具
这两款软件的安装都非常简单,下载好,然后点“下一步”, “下一步” 就 OK 了。
使用Springboot创建项目
我们的目标是写一个用户登录的网页程序。这个网页程序实际是这样运转的。
- 用户打开浏览器,输入项目地址,也叫URL,按回车
- 浏览器往这个项目地址发送网络请求
- 上面浏览器发的请求实际上是被一台服务器上的程序接收
- 服务器处理这个请求,并返回一个 HTML
- 浏览器把这个HTML显示出来,这就是你看到的登录页面
那么我们得 :
- 找台服务器(一台电脑);
- 学习服务器上的处理程序怎么写;
- 程序用到Spring框架,还得学习Spring 框架。
太复杂了,为了让上手方便,于是Pivitol公司给提供了Springboot。Springboot 把不同类型项目要用到的工具都预先做了配置,形成一个个套装,我们直接选用这些套装就可以开发了。太方便!
在Intellij IDEA中创建项目
打开Intellij, 创建项目
从左侧菜单中选择 Spring Initializr, 即Springboot项目的创建向导。
在右侧选择项目SDK。
这里有个小插曲, 新安装的Intellij IDEA, 需要点击 New... -> JDK来进行设置, 告诉Intellij IDEA,你的JDK安装在电脑上什么位置。以后创建项目就不需要了。
找到JDK安装位置,点击打开 Open
接下来设置项目基本参数,在现在的Java世界中,每个Java程序都有一个标识。这个标识由三部分组成:
- group 一般是公司域名反写
- artifact 程序名称
-
version 版本号
另外我们指定使用的Java版本为11
接下来开始选择要使用Springboot提供的哪些套件,下图中,左边是套件分类,中间是具体的套件内容,勾选要使用的就可以了。
我们现在要用到的有Spring Web和 Apache Freemarker。其他的我们用到的时候再添加。
选择完成后需要等待一段时间,IDEA会将选择的Springboot套件下载到本地
默认工程结构和核心配置
Springboot的特点是方便。它已按照前面指定的group和artifact创建了标准的目录结构,并生成了程序启动类WateraffairApplication.java。我们以后的代码只要放在根目录(com/jpin/wateraffair)下面,Springboot就能扫描到它们,并且进行相应的配置。
@Configuration配置
Java程序有两中配置方式,1:Java注解, 2: XML文件
Springboot喜欢第一种方式,只需要给Java类加上 @Configuration就把这个类标记为配置类了。配置类可以通过@Import注解引入另外一个带@Configuration的配置类。
@EnableAutoConfiguration根据classpath上的jar做自动配置
Springboot还有一项神奇的功能是扫描你加在classpath的jar包,自动做程序配置。可以通过使用@EnableAutoConfiguration打开它。
@ComponentScan
使用这个注解, Springboot扫描并配置Sping Bean
@SpringBootApplication 注解
Spring在启动类上自动添加的@SpringBootApplication注解,相当于同时加上了 @Configuration @EnableAutoConfiguration @ComponentScan 三个注解
12-目录结构.png
写登录页面并运行程序
上面完成了Springboot Web项目的搭建,接下来动手写代码了。需要有Spring MVC的基础概念。
好的编程习惯很重要,我们先创建一个login的java包,以后登录相关的代码都放在里面。
创建一个LoginController,让他处理 / 这个路径,处理的结果是把 loginUI 里面的 HTML 代码返回给浏览器。
能动态生成HTML的工具有很多,我们的HTML是通过 Freemarker这个模板引擎生成的,至于为什么选择Freemarker,以后解释。
接下来修改Springboot的配置文件 application.properties,告诉Springboot,Freemarker文件的后缀名为.ftl。这样Springboot就按照Controller返回的字符串加上.ftl后缀名到项目中templates目录下去找对应的Freemarker文件了。
按照上面的规则在 templates 目录下创建 loginUI.ftl文件,写入HTML代码
运行程序查看效果
点击工具条上的 调试 按钮,Intellij IDEA会自动启动SpringBoot程序。下方控制台(console)会显示启动的进度。当看到 Tomcat started on port(s): 8080 (http) 就表明服务器启动成功了
s10-createApp.png
打开网页浏览器,输入网址 http://localhost:8080/ 就可以看到效果了
总结
我们完成了预定的目标
- 搭建开发环境
- 使用Springboot创建项目
- 写登录页面,并运行程序
认识了SpringBoot的核心注解
- @EnableAutoConfiguration 自动配置
- @ComponentScan 扫描Spring Component
- @Configuration 标记配置类
- @SpringBootApplication
下一期我们来完成登录页面并实现图形验证码的功能
网友评论