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项目
创建完毕。运行Springboot01Application类
目录结构介绍
java源文件夹中的Springboot01Application.java是整个项目的启动类
static:存放的是静态资源的文件
templetes:存放的项目所需的页面
application.properties里面存放的是项目的全局配置信息
测试案例代码
package com.xhh.springboot01.contorller;
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 林耀东
* @site www.baidu.com
* @company
* @create 2019-12-27 15:22
*/
@RestController
@RequestMapping("/hello")
public class HelloContorller {
@RequestMapping("/a")
public String a(){
return "springBoot 你大爷!!!";
}
@RequestMapping("/b")
public Map b(){
Map map = new HashMap();
map.put("code",1);
map.put("msg","json成功");
return map;
}
}
Springboot配置文件
内置属性
application.yml
注意:实际项目开发的时候Port=80,Context-path=/,
server.port=8081
server.servlet.context-path=/springboot
自定义属性
Application.properties中配置
自定义属性属性在类中的应用
mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=UTF-8
mysql.username=root
mysql.password=123
demo
package com.xhh.springboot01.contorller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author 林耀东
* @site www.baidu.com
* @company
* @create 2019-12-27 15:46
*/
@RestController
public class demo {
@Value("${mysql.driver}")
private String driver;
@Value("${mysql.url}")
private String url;
@Value("${mysql.username}")
private String username;
@Value("${mysql.password}")
private String password;
@RequestMapping("/mysql1")
public String mysql1(){
return this.driver+"</br>"+this.url+"</br>"+this.username+"</br>"+this.password+"</br>";
}
}
属性封装类
定义属性封装类
导入pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
package com.xhh.springboot01.entity;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
/**
* @author 林耀东
* @site www.baidu.com
* @company
* @create 2019-12-27 16:14
*/
@Component
@ConfigurationProperties(prefix = "mysql")
@Data
public class mysql {
private String driver;
private String url;
private String username;
private String password;
}
package com.xhh.springboot01.contorller;
import com.xhh.springboot01.entity.mysql;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author 林耀东
* @site www.baidu.com
* @company
* @create 2019-12-27 16:24
*/
@RestController
public class demo {
@Autowired
private mysql mysql;
@RequestMapping("/mysql1")
public mysql mysql1() {
return mysql;
}
}