为什么会有springboot的出现?
使用ssm开发项目的时候有什么不足之处?
- 在真正开始写代码之前,我们需要配置一系列的xml文件,非常的麻烦。
- 集成第三方组件、框架不是很方便。
SpringBoot的优点
- 构建项目非常方便
- 配置比较简单(约定大于配置原则)
- 无缝集成主流第三方框架
- SpringBoot不需要额外配置javaee容器
版本
spring2.0需要jdk1.8支持,如果公司的jdk是1.8以下的,记得用低一点的版本
SpringBoot的基本使用
web网页生成
- 然后在idea中打开刚下载的文件(等待依赖加载完成):
- 写好业务代码
package com.bamzhy.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class MyController {
@RequestMapping("/haha")
@ResponseBody
/*在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。*/
public String test(){
return "Hello SpringBoot!";
}
}
- 访问localhost:8080/haha
使用Idea来生成project
- 先去安装一个springboot的插件
- 新建一个module
- tip(artifact里边只能是全小写,不能大小写混合)
- finish
idea插件的使用
可以自己去添加很炫酷的插件~
入口类和SpringBootApplication注解
- SpringBoot的项目一般都会有Application的入口类,入口类中会有main方法,这是一个标准的java应用程序的入口方法
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
等价于
@SpringBootApplication
- ComponentScan只会扫描同级或者子目录,所有一般把application类放在groupid下
Properties配置文件
修改端口号和context-path
- 结果
访问静态资源(放进resourc下的static里边)
- 结果
自定义配置文件的用法
- 等价于
YML配置
- yml文件
server:
port: 80
servlet:
context-path: /hello
from: loulou
to: duoduo
- properties文件
server.port=80
server.servlet.context-path=/hello
from=loulou
to=duoduo
- yml的语法特点
1.大小写敏感
2.使用缩进表示层级关系
3.在properties文件中是以”.”进行分割的, 在yml中是用”:”进行分割;
4.yml的数据格式和json的格式很像,都是K-V格式,并且通过”:”进行赋值;
5.在yml中缩进一定不能使用TAB,否则会报很奇怪的错误,缩进只能用空格,缩进的空格数目不重要,只要相同层级的元素左侧对齐即可;
6.每个:后面一定都要加一个空格;
@configurationProperties(prefix=”test”)注解
在yml文件中有
test:
from: loulou
to: duoduo
bean里边配置configurationProperties实现自动映射
@Component
@ConfigurationProperties(prefix ="test")
public class MyConfig {
// @Value("${test.from}")
String from;
// @Value("${test.to}")
String to;