私はSpringが初めてで、(ApplicationContext ctx = new ApplicationContext( "myAppContext")を使用する代わりに)変数を注入する必要があるクラスに注釈を付けるだけでアプリケーションをロードできるかどうか疑問に思っています。
次の例を挙げましょう。
TestSpring.java
文字列を自動配線する必要があるこのクラスがあります
package mytest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
//Is it possible to put an annotation here that loads the application context "TestSpringContext.xm"??
public class TestSpring {
@Autowired
@Qualifier("myStringBean")
private String myString;
/**
* Should show the value of the injected string
*/
public void showString() {
System.out.println(myString);
}
}
Spring Bean 構成ファイル ( TestSpringContext.xml ) は次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"
>
<context:annotation-config />
<bean id="myStringBean" class="java.lang.String">
<constructor-arg value="I am an injected String."/>
</bean>
</beans>
myString
ここで、次のコードを使用して、自動配線された文字列 (TestSpring.java で宣言) の値を表示したいと思いますRunTestSpring.java
。
package mytest;
public class RunTestSpring {
public static void main(String[] args) {
TestSpring testInstance = new TestSpring();
testInstance.showString();
}
}
ここで私の質問は、アプリケーション コンテキストの読み込み中に "RunTestSpring.java" を正常に実行することは可能ですかRunTestSpring.java
? はいの場合、どの注釈を付けますか?