方法一:
//实体类
@Getter
@Setter
public class MqttProperties {
private String userName;
private String password;
private String otaTopic;
}
//配置类
@Configuration
@PropertySource(value = {"classpath:/properties/mqtt.properties"})
public class PropertiesConfig {
@Bean
@ConfigurationProperties("mqtt")
public MqttProperties mqttProperties(){
return new MqttProperties();
}
}
#MQTT Basic
mqtt.userName = yyDevice&abc123
mqtt.password = 2DD9E5262D9EC292EB0EA775A7BE4294899BC9AA
#MQTT Topic
mqtt.otaTopic = ota/device/#
//使用方法,直接使用@Autowired注入即可
@Autowired
private MqttProperties mqttProperties;
方法二:
去掉上方的配置类,并且修改Bean类即可。
//实体类
@Getter
@Setter
@Commponent
@PropertySource("classpath:/properties/mqtt.properties")
public class MqttProperties {
@Value("${mqtt.userName}")
private String userName;
@Value("${mqtt.password}")
private String password;
@Value("${mqtt.otaTopic}")
private String otaTopic;
}
注意:
系统默认是去application.properties中获取数据的,如果application.properties中与@PropertySource标注的properties中都存在该属性,那么系统则会选用application.properties中的值,如果两边都不存在该属性,那么启动会报错。