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容器,代替 标签
@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
引入 druid 数据库连接池依赖
com.alibaba
druid
1.1.10
创建 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;
}
}