springboot 入门

一、什么是springboot
Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架

二、使用springboot的优点
1、去除大量的xml文件配置
2、简化复杂的依赖管理
3、快速启动容器服务

三、springboot的四个主要特性
1、SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中;

2、自动配置:SpringBoot的自动配置特性利用了Spring4对条件化配置的支持,合理地推测应用所需的bean并自动化配置他们;

3、命令行接口:(Command-line-interface, CLI):SpringBoot的CLI发挥了Groovy编程语言的优势,并结合自动配置进一步简化Spring应用的开发;

4、Actuatir:它为SpringBoot应用的所有特性构建一个小型的应用程序。但首先,我们快速了解每项特性,更好的体验他们如何简化Spring编程模型。

四、使用Eclipse构建一个简单的springboot项目
第一步:下载springboot插件
1、点击Help,选中Eclipse Marketplace…
springboot 入门2、在find搜索栏中搜索spring,下载Spring Tools 4这个插件
springboot 入门3、下载完成后,在新建项目中搜索spring,出现如图所示就表示下载成功啦
springboot 入门
第二步:创建一个新的springboot项目
springboot 入门
2、编写项目名,设置项目类型,打包类型,jdk版本,语言类型,这些都取决于你项目的需要
springboot 入门
3、导入starter依赖,这里我就导入Freemarker,web两个依赖
springboot 入门
4、点击finish,等待自动生成springboot项目(第一次需要点时间),生成后的项目结构
springboot 入门
项目结构介绍:
static文件:放css
templates:放模块.ftl
application.yml:自定义配置
FirstbloodApplication:用户项目启动
webapp:放页面

第三步:开始写一个简单登录的例子
实体类:User

public class User {
	private int id;
	private String username;
	private String password;

控制层:UserController

@RestController//适用于ajax
public class UserController {
	@PostMapping("login")
	public ModelAndView login(User user,ModelAndView mav) {
		if(user.getUsername().equals("admin") && user.getPassword().equals("123"))  {
			mav.addObject(user);
			mav.setViewName("index");
		}
		return mav;
	}
}

webapp:login.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="login" method="post">
		<input type="text" name="username" value=""/>
		<input type="password" name="password" value=""/>
		<input type="submit" value="登录"/>
	</form>
</body>
</html>

模块:index.ftl

<!DOCTYPE html>
<html>
<head>
	<meta cherset="utf-8"></mate>
	<title>登录</title>
</head>
<body>
	欢迎${user.username}登录
</body>
</html>

这样一个简单的springboot项目就编写完成啦,希望看了之后你能对springboot有所了解了。