- SpringBoot 默認使用
Servlet3.0
可以沒有 web.xml
- 沒有任何的 xml
- 如果我們想要做一些自定義的配置
- 比如數據庫相關的配置,該如何配置
- 可以使用
Java
的配置方式
配置的演變
- Spring1.0 時代:Spring 的配置都是使用
xml
的方式
- Spring2.0 時代:引入了
注解
,並未完全替代 xml
- Spring
3.0
及以后:3.0 以后 Spring 的注解已經非常的完善了
Java的配置
- SpringBoot 當中 Java的配置方式主要靠
Java類
和一些 注解
代替 xml
注解名稱 |
作用 |
@Configuration |
標記一個類,作為 配置類 ,代替 xml 文件 |
@Bean |
標記在方法上,將方法的返回值,加入到 Bean容器 ,代替 <bean> 標簽 |
@value |
屬性值注入,也就是設置值 |
@PropertySource |
指定 讀取 那個,外部屬性配置文件 |
- 創建一個配置文件
jdbc.properties
,內容如下:
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
jdbc.username=root
jdbc.password=root

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
- 創建
JdbcConfig
配置類
- 引入
jdbc.properties
- 代碼如下:
/**
* @author: BNTang
*/
@Configuration
@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {
@Value("${jdbc.driverClassName}")
private String driverClassName;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DataSource dataSource(){
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
}
/**
* @author: BNTang
**/
@Controller
public class HelloController {
@Autowired
private DataSource dataSource;
@RequestMapping("hello")
@ResponseBody
public String hello(){
return "hello Java Config" + dataSource;
}
}
