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源文件夹中的SpringbootApplication.java是整个项目的启动类
static:存放的是静态资源的文件
templetes:存放的项目所需的页面
application.yml里面存放的是项目的全局配置信息
项目启动成功访问界面如下:
测试案例代码
package com.huang.springboot.controller; import com.huang.springboot.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; /** * @auther 宇晨 * @company * @create 2019-11-24-14:28 * 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; } }
Springboot配置文件
内置属性
注意:实际项目开发的时候Port=80,Context-path=/,以下配置只为讲解相关知识点
自定义属性
Application.properties中配置
mysql.driver=com.mysql.jdbc.Driver mysql.url=jdbc:mysql://localhost:3306/huang?useUnicode=true&characterEncoding=UTF-8 mysql.username=root mysql.password=123
属性封装类
package com.huang.springboot.configurationProperties; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * @auther 宇晨 * @company * @create 2019-11-24-18:51 */ @Component @Data @ConfigurationProperties(prefix = "user") public class MysqlEntity { private String uname; private String pwd; private Integer age; private String sex; private String addr; }
测试: