Springboot学习笔记(二)

来源:互联网 发布:如果当时 知乎 编辑:程序博客网 时间:2024/05/16 17:18
application.properties为默认的属性文件,可以使用两种办法来获取里面的配置

1.使用environment对象来获取

context.getEnvironment().getProperty("local.ip")

也可以通过自动注入的方式获取
2.使用 @Value注入和配置文件中相同属性名的变量

@Value("${local.port}")
private String localPort;

使用PropertySources获取properties文件

使用yml后缀配置文件:
一定记得在:后面加一个空格,根属性下使用回车空格

使用Springboot快速开发web项目
导入包
<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency>



创建一个Controller和一个入口类,并使用application配置内嵌的tomcat端口号即可快速开发一个web项目

@RestControllerpublic class UserController {    @RequestMapping(value="/home")    @ResponseBody    public String home(){        return "user home";    }}@SpringBootApplicationpublic class App {    public static void main(String[] args) {        SpringApplication.run(App.class, args);    }}



省去了很多配置文件的时间,非常迅速!

加入依赖devtools来实现热部署!
<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-devtools</artifactId>    <optional>true</optional> <!-- 这个需要为 true 热部署才有效 --></dependency>



使用 @RestController注解,则默认方法返回都是一个对象,而非一个视图名,这与 @Controller不同。使用 @RestController解除了前后端的配合度,使后端的代码更加自由!
@RestControllerpublic class UserController {    @RequestMapping(value="home")    @ResponseBody    public String home(){        return "user home";    }        @PutMapping("home")    public String putHome(){        return "user home put";    }        @DeleteMapping("home")    public String deleteHome(){        return "user home delete";    }}



使用 @RequestParam默认参数必须是提供值,如果非必须提供,则加入属性required=false,也可以给参数一个默认值

@PostMapping("home")@ResponseBodypublic String create(@RequestParam(value= "username", defaultValue="admin") String username, @RequestParam(value=("password"),required=false) String password){    System.out.println(username);    return "ok";}




使用 @PathVariable注解获取URL中的参数

@GetMapping("/home/{id}")@ResponseBodypublic String display(@PathVariable("id")String id){    System.out.println(id);    return "ok";}



在Springboot中默认是不支持jsp的,需要导入tomcat-embed-jasper

<dependency>    <groupId>org.apache.tomcat.embed</groupId>    <artifactId>tomcat-embed-jasper</artifactId></dependency>



application.yml的配置
server: port: 8181spring: mvc:  view:   prefix: /WEB-INF/jsp/   suffix: .jsp