(二)Spring Boot-使用@Value获取配置文件配置项并结合@Bean注册组件到Spring
java代码方式配置
如果没有任何的xml,那么我们如果要配置-个Bean该怎么办? 比如我们要配置一个数据库连
接池,以前会这么配置:
<!-- 配置连接池-->
<bean id="dataSource" class=" com.alibaba.druid.pool.DruidDatasource"
init-method="init" destroy-method="close">
<property name="ur1" value="${jdbc.ur1}" />
<property name="username" value="${jdbc.username}" />
<property name "password" value="${jdbc.password}" />
</bean>
尝试java配置
java配置主要靠java类和一些注解,比较常用的注解有:
@Configuration: 声明一个类作为配置类,代替xm|文件
@Bean:声明在方法上,将方法的返回值加入Bean容器,代替
@value:属性注入
@propertysource: 指定外部属性文件
目标:
可以使用@Value获取配置文件配置项并结合@Bean注册组件到Spring
需求:
使用java代码配数据库连接池,并可以在处理器中注入并使用
步骤:
1.添加依赖:

2.创建数据库;
3.创建数据库连接参数的配置文件jdbc.properties :
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/test
jdbc.usermane=root
jdbc.password=123456
4.创建配置类;
package test.config;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import javax.sql.DataSource;
@Configuration
@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {
@Value("${jdbc.url}")
String url;
@Value("${jdbc.driverClassName}")
String driverClassName;
@Value("${jdbc.usermane}")
String usermane;
@Value("${jdbc.password}")
String password;
@Bean
public DataSource dataSource(){
DruidDataSource druidDataSource= new DruidDataSource();
druidDataSource.setDriverClassName(driverClassName);
druidDataSource.setUsername(usermane);
druidDataSource.setPassword(password);
druidDataSource.setUrl(url);
return druidDataSource;
}
}
5.改造处理器类注入数据源并使用
@RestController
public class HelloController {
@Autowired
private DataSource dataSource;
@GetMapping("hello")
public String hello(){
System.*out*.println("DataSource="+dataSource);
return "hello,spring boot!";
}
}

浙公网安备 33010602011771号