我们这里以配置数据源为例子
第一步:创建一个application.properties配置文件,文件名字必须是这个
文件的内容为以下的内容
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springboot?characterEncoding=utf-8
jdbc.username=root
jdbc.password=1234
第二步:创建一个类以加载配置文件中的数据
我这里使用了lombok插件,@data是这个插件的注解,同时我们加上@ConfigurationProperties(prefix = "jdbc")这个注解,他可以读取配置文件的数据,其中prefix是表明文件数据key的前缀,因为上面的数据中前面都加了jdbc的
@ConfigurationProperties(prefix = "jdbc")
@Data
public class JDBCProperties {
private String url;
private String driver;
private String username;
private String password;
}
第三步:在其他需要数据的类中加载这个数据类,在使用@EnableConfigurationProperties(JDBCProperties.class)这个注解引入数据类后,我使用的注解的形式来操作这个类中的数据@Autowired
@Configuration
@EnableConfigurationProperties(JDBCProperties.class)
public class JdbcConfig {
@Autowired
private JDBCProperties jdbcProperties;
@Bean
public DataSource dataSource(){
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setUrl(jdbcProperties.getUrl());
druidDataSource.setDriverClassName(jdbcProperties.getDriver());
druidDataSource.setUsername(jdbcProperties.getUsername());
druidDataSource.setPassword(jdbcProperties.getPassword());
return druidDataSource;
}
}
第四步:在测试类中进行测试,我这里是在控制其中进行的打印,启动启动类后再地址栏输入地址即可
@Controller
public class MyController {
@Autowired
private DataSource dataSource;
@RequestMapping("/hello")
@ResponseBody
public String hello(){
System.out.println(dataSource);
return "hello springboot 123 你好 点发";
}
}