在Spring Boot中提倡約定優(yōu)于配置诗越,所以我們將演示下如何將說明一個配置類并把配置類生命周期交給Spring來管理露该!
@Configuration
public class ExampleConfiguration {
@Value("com.mysql.jdbc.Driver")
private String driverClassName;
@Value("jdbc://xxxx.xx.xxx/xx")
private String driverUrl;
@Value("${root}")
private String driverUsername;
@Value("123456")
private String driverPassword;
@Bean(name = "dataSource")
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(driverUrl);
dataSource.setUsername(driverUsername);
dataSource.setPassword(driverPassword);
return dataSource;
}
@Bean
public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
}
@Configuration可理解為用spring的時候xml里面的<beans>標簽揭措。
@Bean可理解為用spring的時候xml里面的<bean>標簽蔗候。
Spring Boot不是spring的加強版王带,所以@Configuration和@Bean同樣可以用在普通的spring項目中,而不是Spring Boot特有的件炉,只是在spring用的時候勘究,注意加上掃包配置。
<context:component-scan base-package="com.xxx.xxx" />斟冕,普通的spring項目好多注解都需要掃包口糕,才有用,有時候自己注解用的挺6磕蛇,但不起效果景描,就要注意這點。
Spring Boot則不需要秀撇,主要你保證你的啟動Spring Boot main入口超棺,在這些類的上層包就行。
最后呵燕,@Autowired
private DataSource dataSource;的時候棠绘,這個dataSource就是我們在ExampleConfiguration中配的DataSource。