简介
SpringBoot是一个基于spring工程的脚手架;作用是帮助开发人员快速搭建大型的spring
项目。简化工程的配置,依赖管理;实现开发人员把时间都集中在业务开发上。
Spring Boot 主要特点
创建独立的Spring应用,为所有 Spring 的开发者提供一个非常快速的、广泛接受的入门体验。
直接嵌入应用服务器,如tomcat、jetty、undertow等;不需要去部署war包。
提供固定的启动器依赖去简化组件配置;实现开箱即用(启动器starter-其实就是Spring Boot提供的一个jar包),通过自己设置参数(.properties或.yml的配置文件),即可快速使用。
自动地配置Spring和其它有需要的第三方依赖。
提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等。
绝对没有代码生成,也无需 XML 配置。
搭建springboot项目
0.新建maven项目,不勾选任何骨架
1.添加依赖
2.编写启动类
3.编写控制器类
4.测试访问
Java方式配置数据库连接池
方式一
1、添加数据库相关的pom依赖
2、编写数据库连接池配置类与配置文件
@Configuration :声明我们 JdbcConfig 是一个配置类
@PropertySource :指定属性文件的路径是: classpath:jdbc.properties
通过 @Value 为属性注入值
通过@Bean将 dataSource() 方法声明为一个注册Bean的方法,Spring会自动调用该方法,将方法的返回值加入Spring容器中。
3.测试
方式二
1、加入依赖
2、通过@ConfigurationProperties(prefix ="jdbc")进行属性注入
3、测试
对于方式二的简化
spring会自动寻找applicaiotn.yml配置文件中以jdbc开头的配置,与DruidDataSource中的属性进行匹配注入。
DruidDataSource.class中
@ConfigurationProperties(prefix ="jdbc")与@Value对比
优势:
Relaxed binding:松散绑定
不严格要求属性文件中的属性名与成员变量名一致。支持驼峰,中划线,下划线等等转换,甚至支持对象引导。比如:user.friend.name:代表的是user对象中的friend属性中的name属性,显然friend也是对象。@value注解就难以完成这样的注入方式。
meta-data support:元数据支持,帮助IDE生成属性提示(写开源框架会用到)