SpringBoot是什么?
Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验
的工具。
同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置
的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量
的配置代码,开发者能够更加专注于业务逻辑
注1:敏捷式开发
注2:spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,
就像maven整合了所有的jar包,spring boot整合了所有的框架
1、使用Idea配置SpringBoot项目
右击选择Module——》spring Initializr
勾选Lombok,这个是之前学过的一个东西,就在实例上添加@tostring注解就不需要去写tostring方法了
然后就是SpringWeb,毫无疑问web容器是肯定需要的
最后勾选Thymeleaf和Apache Freemarker。使用springBoot后不需要用jsp界面了,这两个内容后续博客会详细讲解
运行后控制台会打印Spring的Log
项目结构介绍
java源文件夹中的Springboot01Application.java是整个项目的启动类
static:存放的是静态资源的文件
templetes:存放的项目所需的页面
application.properties里面存放的是项目的全局配置信息
项目启动成功访问界面如下
测试案例代码
HelloController
package com.liuchunming.springboot01.controller;
import com.liuchunming.springboot01.configurationproperties.MysqlEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* @author liuchunming
* @site www.liuchunming.com
* @company xxx公司
* @create 2020-11-26 20:12
* RestController = ResponseBody + Controller
*/
@RestController
public class HelloController {
@Value("user.uname")
private String uname;
@Value("user.pwd")
private String pwd;
@Autowired
private MysqlEntity mysqlEntity;
@RequestMapping("/hello1")
public String hello1(){
return "hello springboot!!!";
}
@RequestMapping("/say1")
public String say1(String name){
return name + "say hello springboot 你大爷";
}
@RequestMapping("/say2/{name}")
public String say2(@PathVariable("name") String name){
return name + "say hello springboot 你大爷";
}
@RequestMapping("/json")
public Map returnJson(){
Map map = new HashMap();
map.put("success",true);
map.put("msg","恭喜你中奖了!!!");
return map;
}
@RequestMapping("/say3")
public Map say3(){
Map map = new HashMap();
map.put("uname",uname);
map.put("pwd",pwd);
return map;
}
@RequestMapping("/say4")
public MysqlEntity say4(){
return mysqlEntity;
}
}
测试连接:
http://localhost:8080/hello
http://localhost:8080/say1?name=张三
http://localhost:8080/say2/李四
http://localhost:8080/json
Springboot配置文件
内置属性
注意:实际项目开发的时候Port=80,Context-path=/,以下配置只为讲解相关知识点
Java代码
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello springboot";
}
}
自定义属性
Application.properties中配置
server.port: 8081
servlet.context-path: /springboot
user:
uname: zs
pwd: 123456
age: 22
sex: nan
addr: aaa
注意:上面这种定义方式如果配置多了容易弄混乱,因为没有分隔
解决:将application该为.yml后缀
这种结构就能够很方便查看了
controler对应的Java代码
属性封装类
定义属性封装类
点击右上角,添加pom依赖,解决报红问题
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
添加controler层的Java代码进行测试