了解Spring发展历史
在Spring1.x版本的时候,Spring中的配置,使用的是xml
在Spring2.x版本的时候,Spring中的配置,使用到了注解,xml
在Spring3.x版本之后,Spring中的配置,使用Java配置的方式。从Spring到SpringBoot都是采用了Java配置方式。
Java配置的三种方式
<bean id="dataSource" class="Druid">
<property name="driverClass" value="${jdbc.driver}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
方式一:
@Configuration @PropertySource("db.properties") public class DBConfig { @Value("${jdbc.driver}") private String driver; @Value("${jdbc.url}") private String url; @Value("${jdbc.username}") private String username; @Value("${jdbc.password}") private String password; @Bean public DataSource getDataSource(){ DruidDataSource druidDataSource = new DruidDataSource(); druidDataSource.setDriverClassName(driver); druidDataSource.setUrl(url); druidDataSource.setUsername(username); druidDataSource.setPassword(password); return druidDataSource; } }
方式二:
在application.properties中配置
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/tiger_springboot jdbc.username=root jdbc.password=root
@Component @ConfigurationProperties("jdbc") @Data public class JdbcProperties { private String driver; private String url; private String username; private String password; }
@Configuration @EnableConfigurationProperties(JdbcProperties.class) public class DBConfig2 { @Autowired private JdbcProperties jdbcProperties; @Bean public DataSource getDataSource(){ DruidDataSource druidDataSource = new DruidDataSource(); druidDataSource.setDriverClassName(jdbcProperties.getDriver()); druidDataSource.setUrl(jdbcProperties.getUrl()); druidDataSource.setUsername(jdbcProperties.getUsername()); druidDataSource.setPassword(jdbcProperties.getPassword()); return druidDataSource; } }
方式三:
@Configuration public class DBConfig3 { @Bean @ConfigurationProperties("jdbc") public DataSource getDataSource(){ DruidDataSource druidDataSource = new DruidDataSource(); return druidDataSource; } }
方式三最简单,但是里面实现了自动读取属性文件,并给对象设置对应的属性。