- 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;
}
}