一、为什么使用SpringBoot
SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想
二、提供的功能
自动配置
起步依赖
辅助功能
三、SpringBoot是基于约定的
所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml
通常使用application.yml
四、获取数据
通过@Value注解获取
通过@enviroment获取
@SpringBootTest
class UserFindTest {
@Value("${person.name}")
String name;
@Autowired
private Environment env;
@Test
void findAll() {
System.out.println("name "+ name);
System.out.println("address " + env.getProperty("person.address[0]"));
}
}
使用@ConfigurationProperties来通过把配置文件里的属性信息加载一个类的对象里完成配置信息
@Component
@ConfigurationProperties(prefix = "person")
//prefix一定要写。prefix一定要和yml里的一致,否则会报错。
public class Person {
private String name;
private int age;
private String[] address;
五、SpringBoot 多环境配置 -profile
1.多profile文件方式:提供多个配置文件,每个代表一种环境。
application-dev.properties/yml 开发环境
application-test.properties/yml 测试环境
application-pro.properties/yml 生产环境
2.profile激活方式
- 配置文件: 在配置文件中配置:spring.profiles.active=dev
- 虚拟机参数:在VM options 指定:-Dspring.profiles.active=dev
- 命令行参数:java –jar xxx.jar --spring.profiles.active=dev
spring:
profiles:
active: dev
-------------------------
server:
port: 8000
//端口号
六、连接数据库
Spring:
datasource:
driver-class-name: com.mysql.jc.jdbc.Driver
username: root
password: root
url: jdbc:mysql://localhost:3306/medical04?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8
1、在mapper类上使用@mapper注解
2、在主入口使用@MapperScan,这时不需要在每个Mapper上写@Mapper注解
3、配置mapper-locations.
如果mapper.xml和Mapper在resource的路径的路径一样,这里不需要配置mapper-locations.
比如这个例子UserMapper.xml在com.wx.springbootday1.dao路径下,UserMapper这个类也在com.wx.springbootday1.dao包下,就不需要配置mapper-locations的。
4、type-aliases-package表示让mybatis自动扫描到自定义,这样在xml文件里就不用写类的全限定名,写类名就可以;
5、map-underscore-to-camel-case开启驼峰
mybatis:
mapper-locations: classpath:com/wx/dao/*.xml
type-aliases-package: com.wx.entity
configuration:
map-underscore-to-camel-case: true