Heim >Java >javaLernprogramm >Wie kann ich Eigenschaftswerte in Beans einfügen, die in Spring mit Annotationen konfiguriert wurden?
In Spring werden Beans häufig mithilfe von Annotationen konfiguriert, um die Abhängigkeitsinjektion und das Scannen von Klassenpfaden zu vereinfachen. Wenn Sie jedoch Eigenschaftswerte aus einer externen Quelle wie einer Eigenschaftendatei einfügen müssen, kann es zu Herausforderungen kommen.
Stellen Sie sich eine Java-Klasse vor, die als Spring Bean annotiert ist:
@Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { // Implementation omitted }
Diese Bean wird über Annotationen konfiguriert und Sie möchten einen Eigenschaftswert aus einer app.properties-Datei in sie einfügen. Da die Bean jedoch nicht in der Spring-XML-Datei deklariert ist, ist die übliche
Spring bietet EL-Unterstützung (Expression Language), die die Eigenschaftsinjektion direkt in annotierte Beans ermöglicht. Gehen Sie dazu wie folgt vor:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.23</version> </dependency>
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { @Value("${results.max}") private int maxResults; // Implementation omitted }
Sie können @Value auch verwenden, um Eigenschaften aus einem Properties-Objekt einzufügen:
@Autowired private Properties myProperties; @Value("#{myProperties['github.oauth.clientId']}") private String githubOauthClientId;
Das obige ist der detaillierte Inhalt vonWie kann ich Eigenschaftswerte in Beans einfügen, die in Spring mit Annotationen konfiguriert wurden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!