springboot是什么
- springboot其实没什么新东西,他只是简化了我们的配置,帮助我们更方便集成ssm。
- 所以说知识上面没什么改变,等一切都配置集成好了,用的还是ssm那些东西在干活。
快速搭建一个SpringBoot 应用
-
在idea中选择创建一个spring initializr工程
-
在模块中可以选择需要的模块,比如springweb,mysql,springdata等。
-
最后idea就会帮我们生成一个项目,可以在resources目录编写配置文件,可以在static目录存放静态资源,在src/main/java目录编写代码。
-
pom.xml文件默认包含如下内容 可以在version标签修改springboot的版本。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath/>
</parent>
spring-boot-starter-web
spring-boot-starter-test
spring-boot-maven-plugin
- idea默认为我们编写好了一个启动类
@SpringBootApplication //用于标注此类是一个springboot应用程序
public class HdddemoApplication {
public static void main(String[] args) {
SpringApplication.run(HdddemoApplication.class, args); //将应用程序运行起来 相当于整个web工程的入口
}
}
- 然后自己编写一个处理http请求的类
@Controller //注入一个控制层的类
public class Hello {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "hello world";
}
}
- 然后运行启动类,访问本地8080端口就可以显示hello world。
- 相当于springboot集成springmvc就完成了。
- 我们还可以直接将项目通过package打成jar包,通过java -jar hello.jar命令来执行。
springboot配置
- springboot默认支持 application.properties , application.yml 两个全局配置文件,存放在resource目录。
我们可以在全局配置文件中修改一些默认的配置。 - yml配置文件的语法如下
# 普通属性
name: zhangsan
# 配置对象/map
persion:
name:zhangsan
age:18
# 配置集合
city:
- beijing
- shanghai
- guangzhou
# 配置对象集合
student:
- name:java
age:15
address:beijing
- name:python
age:25
address:shenzhen
在代码中获取配置文件的数据
- 通过value注解获取配置文件配置的数据,虽然方便但是只能单一映射数据
@Value("${name}") //获取普通字段
private String name;
@Value("${persion.age}") //获取对象属性
private int age;
@Test
void contextLoads() {
System.out.println(name+"--"+age);
}
- 可以通过ConfigurationProperties注解将配置文件数据与实体类进行映射
@ConfigurationProperties(prefix = "persion")
@Component
public class Persion {
private String name;
private Integer age;
private String addr;
//省略 get set
}
@RunWith(SpringRunner.class)
@SpringBootTest(classes = BootTestApplication.class)
@Component
class BootTestApplicationTests {
@Autowired
private Persion persion;
@Test
void contextLoads() {
System.out.println(persion.getName()+"-"+persion.getAge()+"-"+persion.getAddr());
}
}
数据层与业务层的单元测试
- 首先确保导入了springboot-test-start依赖
- 然后在test目录编写一个类,使用如下注解标注
@RunWith(SpringRunner.class)
@SpringBootTest(classes = BootTestApplication.class)
public class Hdddemo {
@Test
public void fun() {
System.out.println("hello test");
}
}
- 然后就可以单独运行test标注的方法了
日志的使用
- springboot底层使用的是slf和logback的方式进行日志记录。
- 它默认已经将所有其他框架日志替换成了slf4j,方便我们使用。
- 在springboot中使用日志功能。
Logger logger = LoggerFactory.getLogger(this.getClass());
logger.debug("debug日志");
logger.info("info日志");
logger.warn("warn警告日志");
logger.error("error错误日志");
- 我们也可以将日志输出到日志文件中,在全局配置文件中进行配置
# 配置日志文件输出位置,如果不写路径默认项目根目录
logging.file=D:/hdd.log
- 这样我们运行项目就会在D盘根目录生成一个日志文件。