質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

1回答

743閲覧

シングルトンでDIされているメンバ変数が初期値となる。

Beethoven

総合スコア6

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2017/12/07 11:52

###前提・実現したいこと
DIの初期化処理で読みんだコンフィグファイルを保持したい。

###発生している問題・エラーメッセージ

なし

###該当のソースコード

■サーブレットコンテキスト
<bean id="xxxxx" class="jp.ne.docomo.cima.common.container.Xxxxxxxx" init-method="init"/>

■呼び出し元
@Autowired
宣言部:private Xxxxxxxx xxxxxxxx;
呼び出し処理:xxxxxxxx.getProperty("xxx.xxxxx.xxxx");

■呼び出される側(scope指定なしのため、シングルトンのはずです。)
@Component
public class Xxxxxxxx {
private PropertiesConfiguration config = new PropertiesConfiguration();
}

###試したこと
private PropertiesConfiguration config = new PropertiesConfiguration();

private PropertiesConfiguration config;
とし、初期化処理をメソッドに移動
この場合、configがnullになりました。

###補足情報(言語/FW/ツール等のバージョンなど)
なし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

java

1@Component 2public class Xxxxxxxx { 3 private PropertiesConfiguration config = new PropertiesConfiguration(); 4}

これでは、SpringFrameworkから PropertiesConfiguration を取得できていません。

@ComponentをつければSpring管理下になるわけではなく、Springは「ComponentScan」の仕組みにならい、特定のパッケージ内にあるSpringのステレオタイプに属するアノテーションがついたクラスを管理します。

作成された @Component のクラスが、Spring管理内になるようSpringの設定ないしはデフォルト設定のパッケージ内に格納すれば解決するでしょう。

投稿2017/12/20 09:15

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Beethoven

2018/01/08 04:56

ご回答ありがとうございました。 ApplicationContext context = new AnnotationConfigApplicationContext("xx.xx.xxxx.xxx.xxx.xxxx"); Xxxxxx xxxx = context.getBean(Xxxxxx.class); としていた事が原因でした。(毎回初期化されていました。) 以下のコンテキストから取得することによって、解決しました。 applicationContext = (ApplicationContext)request.getAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE);
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問