第一步:创建一个配置类
/**
* @Configuration:声明一个类作为配置类,代替xml文件
* @Bean:声明在方法上,将方法的返回值加入Bean容器,代替<bean>标签
* @value:属性注入
* @PropertySource:指定外部属性文件,
*/
@Configuration
@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DataSource dataSource(){
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setUrl(url);
druidDataSource.setDriverClassName(driver);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
return druidDataSource;
}
}
第二步:编写测试controller
这里当我们在浏览器中访问hello这个地址的时候,就会来到这个controller并执行这里的方法,datasource我是使用的自动注入
@Controller
public class MyController {
@Autowired
private DataSource dataSource;
@RequestMapping("/hello")
@ResponseBody
public String hello(){
System.out.println(dataSource);
return "hello springboot 123 你好 点发";
}
}
第三步:运行启动类
/**
* springboot启动类
*/
@SpringBootApplication
@SpringBootConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
结果
使用断点调试一下,发现我们使用java配置的数据源信息已经成功的交给了bean容器,并且可以直接使用注入的方式读取到