Springboot入门
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整合了所有的框架
使用Idea配置SpringBoot项目,创建项目,切记联网且网速要杠杠的
注意红框选中地方不能使用大写
后两个为下篇博客内容所需要
项目正确结构
java代码放在子包下,否则springmvc不会执行,子包如下所示
运行成功后出现控制台的这种情况代表运行成功
运行结果
HelloController
package com.tanzhixian.springboot01.controller;
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大贤
* @create 2019-11-24 14:31
*
* RestController = responsebody + controller
*/
@RestController
public class HelloController {
@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;
}
}
Springboot配置文件
内置属性
注意:实际项目开发的时候Port=80,Context-path=/,以下配置只为讲解相关知识点
属性封装类
定义属性封装类
MysqlEntity
package com.tanzhixian.springboot01.configurationProperties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @author大贤
* @create 2019-11-24 16:30
*/
@Component
@Data
@ConfigurationProperties(prefix = "user")
public class MysqlEntity {
private String uname;
private String pwd;
private String sex;
}
会出现这个错误,因为版本问题我们需要导入pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
测试
@RequestMapping("/say4")
public MysqlEntity say4(){
return mysqlEntity;
}