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源文件夹中的Springboot01Application.java是整个项目的启动类
static:存放的是静态资源的文件
templetes:存放的项目所需的页面
application.properties里面存放的是项目的全局配置信息
启动Springboot
浏览器访问
测试springboot(案例)
1 package com.javaxl.springboot01.controller; 2 3 import com.javaxl.springboot01.configurationProperties.MysqlEntity; 4 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.beans.factory.annotation.Value; 6 import org.springframework.web.bind.annotation.PathVariable; 7 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.RestController; 9 10 import java.util.HashMap; 11 import java.util.Map; 12 13 /** 14 * @author XuFanQi 15 * @site 16 * @company 17 * @create 2019-11-24 15:50 18 * RestController = responsebady + conterllor 19 */ 20 @RestController 21 public class HelloController { 22 23 24 @RequestMapping("/hello01") 25 public String hello01(){ 26 return "Hello springboot ! ! !"; 27 } 28 29 @RequestMapping("/say1") 30 public String say1(String name){ 31 return name + "say hello springboot 你大爷"; 32 } 33 34 @RequestMapping("/say2/{name}") 35 public String say2(@PathVariable("name") String name){ 36 return name + "say hello springboot 你大爷"; 37 } 38 39 @RequestMapping("/json") 40 public Map returnJson(){ 41 Map map = new HashMap(); 42 map.put("success",true); 43 map.put("msg","恭喜你中奖了!!!"); 44 return map; 45 } 46 47 48 }
Springboot配置文件
内置属性
注意:实际项目开发的时候Port=80,Context-path=/,以下配置只为讲解相关知识点
自定义属性
application.yml
1 server: 2 servlet: 3 context-path: / 4 port: 80 5 6 user: 7 uname: zs 8 pwd: 123456
HelloController相关代码
1 /** 2 * @author XuFanQi 3 * @site 4 * @company 5 * @create 2019-11-24 15:50 6 * RestController = responsebady + conterllor 7 */ 8 @RestController 9 public class HelloController { 10 11 @Value("${user.uname}") 12 private String uname; 13 @Value("${user.pwd}") 14 private String pwd; 15 16 @Autowired 17 private MysqlEntity mysqlEntity; 18 19 @RequestMapping("/hello01") 20 public String hello01(){ 21 return "Hello springboot ! ! !"; 22 } 23 24 @RequestMapping("/say1") 25 public String say1(String name){ 26 return name + "say hello springboot 你大爷"; 27 } 28 29 @RequestMapping("/say2/{name}") 30 public String say2(@PathVariable("name") String name){ 31 return name + "say hello springboot 你大爷"; 32 } 33 34 @RequestMapping("/json") 35 public Map returnJson(){ 36 Map map = new HashMap(); 37 map.put("success",true); 38 map.put("msg","恭喜你中奖了!!!"); 39 return map; 40 } 41 42 @RequestMapping("/say3") 43 public Map say3(){ 44 Map map = new HashMap(); 45 map.put("uname",uname); 46 map.put("pwd",pwd); 47 return map; 48 } 49 }
浏览器访问结果
属性封装类
定义属性封装类
application.yml
1 server: 2 servlet: 3 context-path: / 4 port: 80 5 6 user: 7 uname: zs 8 pwd: 123456 9 age: 18 10 sex: "男" 11 addr: "北京"
MysqlEntity
1 package com.javaxl.springboot01.configurationProperties; 2 3 import lombok.Data; 4 import org.springframework.boot.context.properties.ConfigurationProperties; 5 import org.springframework.stereotype.Component; 6 7 /** 8 * @author XuFanQi 9 * @site 10 * @company 11 * @create 2019-11-24 16:52 12 */ 13 @Component 14 @Data 15 @ConfigurationProperties(prefix = "user") 16 public class MysqlEntity { 17 18 private String uname; 19 private String pwd; 20 private Integer age; 21 private String sex; 22 private String addr; 23 }
添加pom依赖,解决报红问题
1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-configuration-processor</artifactId> 4 <optional>true</optional> 5 </dependency>
HelloController
1 package com.javaxl.springboot01.controller; 2 3 import com.javaxl.springboot01.configurationProperties.MysqlEntity; 4 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.beans.factory.annotation.Value; 6 import org.springframework.web.bind.annotation.PathVariable; 7 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.RestController; 9 10 import java.util.HashMap; 11 import java.util.Map; 12 13 /** 14 * @author XuFanQi 15 * @site 16 * @company 17 * @create 2019-11-24 15:50 18 * RestController = responsebady + conterllor 19 */ 20 @RestController 21 public class HelloController { 22 23 @Value("${user.uname}") 24 private String uname; 25 @Value("${user.pwd}") 26 private String pwd; 27 28 @Autowired 29 private MysqlEntity mysqlEntity; 30 31 @RequestMapping("/hello01") 32 public String hello01(){ 33 return "Hello springboot ! ! !"; 34 } 35 36 @RequestMapping("/say1") 37 public String say1(String name){ 38 return name + "say hello springboot 你大爷"; 39 } 40 41 @RequestMapping("/say2/{name}") 42 public String say2(@PathVariable("name") String name){ 43 return name + "say hello springboot 你大爷"; 44 } 45 46 @RequestMapping("/json") 47 public Map returnJson(){ 48 Map map = new HashMap(); 49 map.put("success",true); 50 map.put("msg","恭喜你中奖了!!!"); 51 return map; 52 } 53 54 @RequestMapping("/say3") 55 public Map say3(){ 56 Map map = new HashMap(); 57 map.put("uname",uname); 58 map.put("pwd",pwd); 59 return map; 60 } 61 62 @RequestMapping("/say4") 63 public MysqlEntity say4(){ 64 65 return mysqlEntity; 66 } 67 }