SpringBoot的基本配置
一.尝试Java配置
- Java配置主要靠Java类和一些注解,比较常用的有:
- @Configuration:声明一个类作为配置类,代替xml文件
- @Bean:声明在方法上,将方法的返回值加入Bean容器,代替标签
- @Value:属性注入
- @PropertySource:指定外部属性文件
- 目录结构
*
1.引入所需依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.itcast.demo</groupId>
<artifactId>springboot-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
</parent>
<dependencies>
<!--引入一个web启动器依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--version由springboot来管理-->
</dependency>
<!--引入Druid连接池依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
<!--lombok帮你完成set get方法-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>
二.SpringBoot的主类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//这个类就是一个配置类
@SpringBootApplication
public class BootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(BootDemoApplication.class,args);
}
}
三.配置jdbc
1.jdbc的Java配置
首先在config包下创建JdbcConfig类(SpringBoot的一个特点就是使用Java代码进行配置)
@configuration
public class JdbcConfig{
@Bean
@ConfigurationProperties(prefix = "jdbc") //这里的jdbc表示的是application.properties文件下的前缀(其它默认)
public DataSource dataSource(){
return new DruidDataSource(); //Druid连接池
}
}
application.properties (名称默认)
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/leyou
jdbc.username=root
jdbc.password=123
2.使用方式
@Autowried //注解注入即可
private DataSource dataSource;
三.代替properties的写法yaml
application.yaml
jdbc:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/yun6
username: root
password: 123
user:
name: song
age: 21
language:
- java
- php
- ios
- python
- scala
注意: 使用 (:冒号) 后记得后面接个空格
优点:除了原来能注入普通对象属性以外,在yaml下还可以注入集合等更深入的属性
二.SpringBoot 的@SpringBootApplication的默认配置
一.修改默认配置(覆盖)
SpringBoot帮我们配置好的属性
假如觉得SpringBoot给你配置的@Bean不够好(如上图),有两种修改方式
一种是直接覆盖@Bean,另一种是覆盖它要读取的配置文件属性
二.自动配置覆盖
1.举例
创建application.yaml文件
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
2.如果要修改Tomcat端口号
在application.yaml文件里面添加
server:
port: 8080
下面是原理
web/servlet/error/DispatcherServletAutoConfiguration里面的
@EnableConfigurationProperties(ServerProperties.class)
//port端口在这条注解的ServerProperties.class下
3.启动器
后缀是对应技术的启动器
SpringBoot 下的SpringMVC所需要配的东西
注解驱动(默认不需要自己配)
扫描包(默认不需要自己配)
拦截器
SpringBoot默认不支持Jsp(不去配)