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.properties里面存放的是项目的全局配置信息
启动成功访问界面如下:
测试代码
package com.ssm.springboot.controller; import com.ssm.springboot.Properties.BaseEntity; 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 胡明财 * @blog name & blog address 027@0030 * */ @RestController public class Mycontroller { @Value("${user.uname}") private String uname; @Value("${user.pwd}") private String pwd; @Autowired private BaseEntity baseEntity; @RequestMapping("/demo1") public String demo1() { return "hello demo1"; } @RequestMapping("/by1") public String by1(String name) { return name + "say hello springboot"; } @RequestMapping("/by2/{name}") public String by2(@PathVariable("name") String name) { return name + "say hello springboot"; } @RequestMapping("/byjson") public Map returnJson() { Map map = new HashMap(); map.put("success", true); map.put("msg", "恭喜!!!"); return map; } @RequestMapping("/by3") public Map by3() { Map map = new HashMap(); map.put("uname", uname); map.put("pwd", pwd); return map; } @RequestMapping("/by4") public BaseEntity by4() { return baseEntity; } }
Springboot配置文件
内置属性
controler对应的Java代码
package com.ssm.springboot.controller; import com.ssm.springboot.Properties.BaseEntity; 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 胡明财 * @blog name & blog address 027@0030 * */ @RestController public class Mycontroller { @Value("${user.uname}") private String uname; @Value("${user.pwd}") private String pwd; @RequestMapping("/by3") public Map by3() { Map map = new HashMap(); map.put("uname", uname); map.put("pwd", pwd); return map; } }
属性封装类
定义属性封装类
package com.ssm.springboot.Properties; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * @author 胡明财 * @blog name & blog address 027@0030 * */ @Component @Data @ConfigurationProperties(prefix = "user") public class BaseEntity { private String uname; private String pwd; private Integer age; private String sex; private String address; }
加一个pom依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
添加controler层的Java代码进行测试‘
package com.ssm.springboot.controller; import com.ssm.springboot.Properties.BaseEntity; 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 胡明财 * @blog name & blog address 027@0030 * @create 2019-11-24 14:57 */ @RestController public class Mycontroller { @Autowired private BaseEntity baseEntity; @RequestMapping("/by4") public BaseEntity by4() { return baseEntity; } }