Springboot--配置文件注解

使用注解1

1.resouse中新建application.proprities

jdbc.username=root
jdbc.password=123
jdbc.driverClassName=fuck
jdbc.url=11111111

2编写配置类

@ConfigurationProperties(prefix = "jdbc")
@Data
public class JdbcProperties {
    private String url;
    private String driverClassName;
    private String username;
    private String password;
    // ... 略
    // getters 和 setters
}

@ConfigurationProperties表示启用注解
@Data可以省去getter及setter等方法

3使用注解方式1

第一种方式

@Configuration
@EnableConfigurationProperties(JdbcProperties.class)
public class JdbcConfig {

    @Bean
    public DataSource dataSource(JdbcProperties jdbc) {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(jdbc.getUrl());
        dataSource.setDriverClassName(jdbc.getDriverClassName());
        dataSource.setUsername(jdbc.getUsername());
        dataSource.setPassword(jdbc.getPassword());
        return dataSource;
    }
}

@Configuration启动容器+@Bean注册Bean,@Bean下管理bean的生命周期
@EnableConfigurationProperties(JdbcProperties.class)表示启用注解,直接JdbcProperties jdbc就可以使用。

第二种方式

@Autowired
JdbcProperties jdbc;

增加@Autowired

第三种方式

通过构造函数注入

    private JdbcProperties jdbc;
    public JdbcConfig(JdbcProperties jdbc) {
        this.jdbc = jdbc;
    }

使用注解2

1.resouse中新建application.proprities

jdbc.username=root
jdbc.password=123
jdbc.driverClassName=fuck
jdbc.url=11111111

2

@Configuration
public class JdbcConfig {



    @Bean
    @ConfigurationProperties(prefix = "jdbc")
    public DataSource dataSource() {
        return new DruidDataSource();

    }
}

此后就可随意Autowired使用了
1.根据@Bean找到@ConfigurationProperties(prefix = "jdbc"),再看返回值类型。
适合于只在一处使用的情况,会根据返回值找到相关应的setter方法,如果一致则注入。

posted @ 2019-03-12 10:59  comeluder  阅读(602)  评论(0编辑  收藏  举报