English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Dettagli di lettura e utilizzo dei file properties in Spring

Dettagli di lettura e utilizzo dei file properties in Spring

Nella pratica, spesso si mettono alcune informazioni configurabili e personalizzate in file di proprietà (come informazioni di connessione al database, configurazioni di invio di email, ecc.) per facilitare la gestione della configurazione unificata. Ad esempio, le informazioni di proprietà da configurare sono collocate nel file properties/WEB-INF/configInfo.properties.

Alcune informazioni di configurazione (relative alla spedizione di email):

# configurazioni relative alla spedizione di email
email.host = smtp.163.com
email.port = xxx
email.username = xxx
email.password = xxx
email.sendFrom = [email protected]

Al momento dell'avvio del contenitore Spring, utilizzare il bean integrato per caricare le informazioni del file delle proprietà, aggiungere quanto segue nel file bean.xml:

Codice XML

<!-- Caricatore delle proprietà di Spring, carica le proprietà dei file properties -->
 <bean id="propertyConfigurer"
 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
 <property name="location">
  <value>/WEB-INF/configInfo.properties</value>
 </property>
 <property name="fileEncoding" value="utf-8" />
 </bean>

Una volta caricate le informazioni di proprietà, un altro modo di utilizzo è riferirsi direttamente al valore delle informazioni di proprietà nel definire altri bean, come la configurazione del bean del mittente delle email:

Codice XML

<!-- Invio email -->
 <bean id="mailSender"
 class="org.springframework.mail.javamail.JavaMailSenderImpl"
 <property name="host">
  <value>${email.host}</value>
 </property>
 <property name="port">
  <value>${email.port}</value>
 </property>
 <property name="username">
  <value>${email.username}</value>
 </property>
 <property name="password">
  <value>${email.password}</value>
 </property>
 <property name="javaMailProperties">
  <props>
  <prop key="mail.smtp.auth">true</prop>
  <prop key="sendFrom">${email.sendFrom}</prop>
  </props>
 </property>
 </bean>

Un altro modo di utilizzo è ottenere le informazioni di configurazione utilizzando il codice, definire un javabean: ConfigInfo.java, utilizzare gli annotazioni per iniettare le informazioni di proprietà necessarie nel codice; se nel file delle proprietà ci sono informazioni come queste, devono essere ottenute e utilizzate nel codice:

Codice Java

#Generazione del percorso di salvataggio dei file
file.savePath = D:/test/
#Genera il percorso di backup dei file, sposta il file corrispondente a questo percorso dopo l'uso
file.backupPath = D:/test bak/

Codice corrispondente in ConfigInfo.java:

Codice Java

@Component("configInfo")
public class ConfigInfo {
  @Value("${file.savePath}")
  private String fileSavePath;
  @Value("${file.backupPath}")
  private String fileBakPath;
  public String getFileSavePath() {
    return fileSavePath;
  }
  public String getFileBakPath() {
    return fileBakPath;
  }  
}

Usa l'iniezione di annotazione per l'oggetto ConfigInfo nella classe bo di business:

Codice Java

@Autowired
private ConfigInfo configInfo;

Aggiungi lo scanner del componente nel file bean.xml, utilizzato per l'iniezione automatica tramite annotazione:

Codice XML

<context:component-scan base-package="com.my.model" />

(Il pacchetto model menzionato sopra contiene la classe ConfigInfo).

Ottieni le informazioni sugli attributi corrispondenti tramite il metodo get, il vantaggio è che è facile da usare nel codice, il svantaggio è che se il codice richiede nuove informazioni sugli attributi, è necessario aggiungere o modificare di conseguenza ConfigInfo.java.

Grazie per aver letto, spero che possa aiutare tutti, grazie per il supporto al nostro sito!

Ti potrebbe interessare