Autowired Properties

Status
Nicht offen für weitere Antworten.
S

Spring Property

Gast
Hallo,

folgende Frage:

application.properties File mit einer Property z.B. "sender".

Wie kann ich auf diese zugreifen und zwar im Java Kode und nicht in der Spring-Config(XML) ?

Auszug aus application.xml:
Code:
 <context:property-placeholder location="/WEB-INF/datasource.properties,/WEB-INF/application.properties"/>

Code:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${dataSource.driverClassName}"/>
        <property name="url" value="${dataSource.url}"/>
        <property name="username" value="${dataSource.username}"/>
        <property name="password" value="${dataSource.password}"/>
    </bean>

Hier ist der Zugriff kein Problem. Aber ich moechte aus naheliegenden Gruenden meine Beans nicht per XML-Konfigurieren sondern per Annotations!

Danke im vorraus
 

byte

Top Contributor
Ich befürchte, das geht nicht. Die Annotations werden ja nicht (erst) zur Laufzeit ausgewertet. Deswegen kann man in Annotations auch maximal auf Konstanten zugreifen. Methodenaufrufe in Annotations sind nicht möglich. Daher kann man in den Annotations auch nicht auf Beans zugreifen.

Wenns doch eine Lösung gibt, wäre ich daran auch sehr interessiert.
 

byte

Top Contributor
Das ist leider nicht ganz das, was ich mir wünsche. Dort werden Felder an Properties aus einem PropertyPlaceHolder gebunden, so dass die Felder beim Instanzieren direkt gefüllt sind.
Wenn ich das richtig sehe, ist es damit aber trotzdem nicht möglich, Annotations mit Properties aus einem PropertyPlaceHolder zu füllen, um z.B. sowas zu erreichen:

Code:
@Foo(bar=${bar})
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben