タグ付けされた質問 「spring」

Spring Frameworkは、Javaプラットフォームでのアプリケーション開発のためのオープンソースフレームワークです。中核となるのは、コンポーネントベースのアーキテクチャに対する豊富なサポートであり、現在、20を超える高度に統合されたモジュールを備えています。

8
Spring Cache @Cacheable-同じBeanの別のメソッドから呼び出しているときに機能しない
同じBeanの別のメソッドからキャッシュされたメソッドを呼び出すと、Springキャッシュが機能しません。 ここに私の問題を明確に説明する例があります。 構成: <cache:annotation-driven cache-manager="myCacheManager" /> <bean id="myCacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"> <property name="cacheManager" ref="myCache" /> </bean> <!-- Ehcache library setup --> <bean id="myCache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" p:shared="true"> <property name="configLocation" value="classpath:ehcache.xml"></property> </bean> <cache name="employeeData" maxElementsInMemory="100"/> キャッシュされたサービス: @Named("aService") public class AService { @Cacheable("employeeData") public List<EmployeeData> getEmployeeData(Date date){ ..println("Cache is not being used"); ... } public List<EmployeeEnrichedData> …
107 java  spring  caching  ehcache 

5
一致するBeanが複数検出された場合、Springはどのように名前で自動ワイヤリングしますか?
次のようなインターフェイスがあるとします。 interface Country {} class USA implements Country {} class UK implements Country () そして、この構成xmlのスニペット: <bean class="USA"/> <bean id="country" class="UK"/> <bean id="main" class="Main"/> 以下で自動依存する依存関係をどのように制御できますか?英国のものをお願いします。 class Main { private Country country; @Autowired public void setCountry(Country country) { this.country = country; } } Spring 3.0.3.RELEASEを使用しています。
106 spring 

9
Spring Boot JPA-自動再接続の構成
Spring Boot JPA Webアプリケーションが少しあります。これはAmazon Beanstalkにデプロイされ、データの永続化にAmazon RDSを使用します。ただし、あまり使用されないため、しばらくすると次のような例外が発生して失敗します。 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:サーバーから正常に受信された最後のパケットは、79,870,633ミリ秒前でした。 サーバーに正常に送信された最後のパケットは、79,870,634ミリ秒前です。サーバー構成の「wait_timeout」の値よりも長くなっています。この問題を回避するには、アプリケーションで使用する前に接続の有効期限を期限切れにするかテストするか、サーバーのクライアントタイムアウト値を増やすか、Connector / J接続プロパティ 'autoReconnect = true'を使用することを検討してください。 この設定の構成方法がわからないため、http://spring.io(非常に優れたサイトですが)でこの設定に関する情報を見つけることができません。アイデアや情報へのポインタは何ですか?

4
春の@Validと@Validatedの違い
Springは、Spring検証とJSR-303 Bean検証という2つの異なる検証方法をサポートしています。どちらも、Beanバリデーターを含む他のデリゲーターにデリゲートするSpringバリデーターを定義することで使用できます。ここまでは順調ですね。 しかし、実際に検証を要求するようにメソッドに注釈を付ける場合、それは別の話です。このように注釈を付けることができます @RequestMapping(value = "/object", method = RequestMethod.POST) public @ResponseBody TestObject create(@Valid @RequestBody TestObject obj, BindingResult result) { またはこのように @RequestMapping(value = "/object", method = RequestMethod.POST) public @ResponseBody TestObject create(@Validated @RequestBody TestObject obj, BindingResult result) { ここで、@ Validはjavax.validation.Validで、@ Validatedはorg.springframework.validation.annotation.Validatedです。後者のドキュメントは言う JSR-303のValidのバリアントであり、検証グループの仕様をサポートしています。SpringのJSR-303サポートで便利に使用できるように設計されていますが、JSR-303固有ではありません。 違いが正確にわからないので、あまり役に立ちません。もしそうなら。どちらもかなりうまく機能しているようです。

12
Springのフィルターでスローされた例外を管理する方法は?
5xxエラーコードを管理する一般的な方法を使用したいと思います。具体的には、dbが私のスプリングアプリケーション全体でダウンしている場合を考えてみましょう。スタックトレースではなく、かなりのエラーjsonが必要です。 コントローラーの@ControllerAdvice場合、さまざまな例外のクラスがあり、これは、dbが要求の途中で停止している場合もキャッチしています。でもこれは全てではない。また、カスタムCorsFilter拡張OncePerRequestFilterを使用しているので、呼び出すとdoFilter取得CannotGetJdbcConnectionExceptionされ、によって管理されません@ControllerAdvice。私はオンラインでいくつかのことを読んで、混乱するだけでした。 だから私はたくさんの質問があります: カスタムフィルターを実装する必要がありますか?私は見つけましたExceptionTranslationFilterが、これはハンドルAuthenticationExceptionまたはAccessDeniedExceptionます。 私は自分HandlerExceptionResolverでを実装することを考えましたが、これは疑いました。管理するカスタムの例外はありません。これよりも明白な方法があるはずです。私はまた、try / catchを追加して、HandlerExceptionResolver(十分なはずですが、私の例外は特別なものではありません)の実装を呼び出しましたが、これは応答で何も返さず、ステータス200と空の本文が返されます。 これに対処する良い方法はありますか?ありがとう

17
Spring Hibernate-現在のスレッドのトランザクション同期セッションを取得できませんでした
Spring + Hibernateでアプリケーションを作成しましたが、常にこのエラーが発生します。これは、Hibernateを使用した最初のアプリケーションです。いくつかのガイドを読みましたが、この問題を解決できません。どこで間違っているのですか? これは私のアプリケーションのコードです ott 05, 2014 4:03:06 PM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh Informazioni: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1eab16b: startup date [Sun Oct 05 16:03:06 CEST 2014]; root of context hierarchy ott 05, 2014 4:03:06 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions Informazioni: Loading XML bean definitions from class path resource [springConfig.xml] ott 05, 2014 4:03:08 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit> …

4
Spring ControllerのInitメソッド(アノテーション版)
コントローラを新しいアノテーションバージョンに変換しています。以前のバージョンでは、springmvc-servlet.xmlでinitメソッドを指定するために使用しました: <beans> <bean id="myBean" class="..." init-method="init"/> </beans> アノテーションバージョンを使用してinitメソッドを指定するにはどうすればよいですか?

16
文字列のJdbctemplateクエリ:EmptyResultDataAccessException:不正な結果サイズ:期待される1、実際の0
Jdbctemplateを使用して、dbから単一の文字列値を取得しています。これが私の方法です。 public String test() { String cert=null; String sql = "select ID_NMB_SRZ from codb_owner.TR_LTM_SLS_RTN where id_str_rt = '999' and ID_NMB_SRZ = '60230009999999'"; cert = (String) jdbc.queryForObject(sql, String.class); return cert; } 私のシナリオでは、クエリにヒットしないことが完全に可能であるため、私の質問は、次のエラーメッセージを回避する方法です。 EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 例外をスローするのではなく、nullを返すだけのように思えます。どうすれば修正できますか?前もって感謝します。

11
Springは現在のApplicationContextを取得します
WebアプリケーションにSpring MVCを使用しています。私の豆は「spring-servlet.xml」ファイルに書かれています 今私は、クラスを持っているMyClassと私は春の豆を使用して、このクラスにアクセスしたいです でspring-servlet.xml、私は次のように書かれています <bean id="myClass" class="com.lynas.MyClass" /> 今私はこれを使用してこれにアクセスする必要があります ApplicationContext ApplicationContext context = ?? できるように MyClass myClass = (MyClass) context.getBean("myClass"); これを行う方法??

9
本番環境でSpring Boot実行可能jarを実行するにはどうすればよいですか?
Springブートの推奨される展開方法は、内部にtomcatを含む実行可能なjarファイルを使用する方法です。 それはシンプルで始まりjava -jar myapp.jarます。 今、EC2上のLinuxサーバーにそのjarをデプロイしたいのですが、何かが足りないのですか、それとも本当にアプリケーションをデーモンとして正しく起動するためのinitスクリプトを作成する必要があるのですか? 単に呼び出すとjava -jar、ログアウトしたときにアプリケーションが停止します。 画面またはnohupで起動することもできますが、あまり洗練されていません。サーバーを再起動すると、ログインして手動でプロセスを開始する必要があります。 それで、春のブートのタスクにはすでに何かがありますか?

10
ジャクソンのカスタムデシリアライザーからデフォルトのデシリアライザーを呼び出す方法
ジャクソンのカスタムデシリアライザに問題があります。デフォルトのシリアライザにアクセスして、逆シリアル化先のオブジェクトを作成します。ポピュレーションの後で、カスタムの処理をいくつか行いますが、最初にデフォルトのJackson動作でオブジェクトをデシリアライズします。 これは私が現在持っているコードです。 public class UserEventDeserializer extends StdDeserializer<User> { private static final long serialVersionUID = 7923585097068641765L; public UserEventDeserializer() { super(User.class); } @Override @Transactional public User deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { ObjectCodec oc = jp.getCodec(); JsonNode node = oc.readTree(jp); User deserializedUser = null; deserializedUser = super.deserialize(jp, ctxt, new User()); …

1
Mavenを使用せずにSpring Frameworkのjarをどこでダウンロードできますか?
この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答や相互作用を受け入れていません。 SpringSource.orgはサイトをhttp://spring.ioに変更しました 誰かがMaven / githubなしで最新のビルドを取得する方法を知っていますか?http://spring.io/projectsから
104 java  spring  spring-mvc 

6
JdbcTemplate queryForInt / Longは、Spring 3.2.2で非推奨になりました。何に置き換える必要がありますか?
JdbcTemplateのqueryforInt / queryforLongメソッドは、Spring 3.2では非推奨です。これらの方法を使用して既存のコードを置き換えるためのベストプラクティスと見なされている理由や理由がわかりません。 典型的な方法: int rowCount = jscoreJdbcTemplate.queryForInt( "SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?", playerNameKey.toUpperCase(), teamNameKey.toUpperCase() ); 上記のメソッドを次のように書き換える必要があります。 Object[] params = new Object[] { playerNameKey.toUpperCase(), teamNameKey.toUpperCase() }; int rowCount = jscoreJdbcTemplate.queryForObject( "SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?", …

16
依存性注入コンテナの利点は何ですか?
依存性注入自体の利点を理解しています。たとえば、Springを例にとってみましょう。また、AOPやさまざまな種類のヘルパーなど、他のSpring機能の利点についても理解しています。次のようなXML構成の利点は何でしょうか。 <bean id="Mary" class="foo.bar.Female"> <property name="age" value="23"/> </bean> <bean id="John" class="foo.bar.Male"> <property name="girlfriend" ref="Mary"/> </bean> 次のようなプレーンな古いJavaコードと比較して: Female mary = new Female(); mary.setAge(23); Male john = new Male(); john.setGirlfriend(mary); これはデバッグがより簡単で、コンパイル時間をチェックし、Javaだけを知っている人なら誰でも理解できます。それでは、依存性注入フレームワークの主な目的は何ですか?(またはその利点を示すコードの一部) 更新:の 場合 IService myService;// ... public void doSomething() { myService.fetchData(); } IoCフレームワークは、複数ある場合に、注入するmyServiceの実装をどのように推測できますか?特定のインターフェイスの実装が1つしかなく、IoCコンテナーにそれを使用するように自動的に決定させると、2番目の実装が表示された後に壊れます。また、インターフェースの実装が意図的に1つしかない場合は、それを注入する必要はありません。 IoCのメリットを示す小さな構成を見るのは本当に興味深いでしょう。私はしばらくSpringを使用しており、そのような例を提供することはできません。また、休止状態、dwr、および私が使用するその他のフレームワークの利点を示す1行を表示できます。 更新2: IoC構成は再コンパイルせずに変更できることを理解しています。本当にいいアイデアですか?再コンパイルせずにDB資格情報を変更したい場合は理解できます-彼は開発者ではない可能性があります。実際に、開発者以外の誰かがIoC構成を変更する頻度はどれくらいですか?開発者にとって、構成を変更する代わりにその特定のクラスを再コンパイルする努力はないと思います。そして、非開発者にとっては、おそらく彼の人生をより簡単にし、いくつかのより単純な設定ファイルを提供したいと思うでしょう。 更新3: インターフェースとその具体的な実装間のマッピングの外部構成 それを外部のものにすることで何が良いのですか?すべてのコードを外部にする必要はありませんが、ClassName.java.txtファイルに配置して、オンザフライで手動で読み取り、コンパイルすることはできますが、再コンパイルは不要です。コンパイルを避けるべきなのはなぜですか? 手続き型コードではなく宣言的にマッピングを提供するため、コーディング時間を節約できます。 ときどき宣言的アプローチが時間を節約することを理解しています。たとえば、BeanプロパティとDB列の間のマッピングを一度だけ宣言し、HSQLに基づいてSQLをロード、保存、構築するときにhibernateがこのマッピングを使用します。これが宣言的なアプローチが機能する場所です。Spring(私の例では)の場合、宣言はより多くの行を持ち、対応するコードと同じ表現力を持っていました。そのような宣言がコードより短い場合の例があれば、私はそれを見たいです。 制御の原則の反転により、実際の実装を偽の実装に置き換えることができるため(SQLデータベースをメモリ内の実装に置き換えるなど)、ユニットテストが容易になります。 …

5
複数のプロジェクト/モジュールで(PropertyPlaceholderConfigurerを介して)複数のプロパティファイルを使用する
現在、複数のプロジェクト/モジュールに分割されたアプリケーションを作成しています。たとえば、次のモジュールを見てみましょう。 myApp-DAO myApp-jabber 各モジュールには、独自のSpringコンテキストxmlファイルがあります。DAOモジュールの場合、必要なdb接続パラメーターを含むプロパティファイルを読み取るPropertyPlaceholderConfigurerがあります。jabberモジュールには、jabber接続プロパティ用のPropertyPlaceHolderConfigurerもあります。 myApp-DAOとmyApp-jabberを含むメインアプリケーションが登場します。すべてのコンテキストファイルを読み取り、1つの大きなSpringコンテキストを開始します。残念ながら、コンテキストごとに1つのPropertyPlaceholderConfigurerしか存在できないようです。そのため、最初にロードされたモジュールは、その接続パラメーターを読み取ることができます。もう1つは「プレースホルダー 'jabber.host'を解決できませんでした」のようなエラーで例外をスローします 私は問題が何であるかをある程度理解していますが、私は本当に解決策、または私のユースケースのベストプラクティスを知りません。 各モジュールが独自のプロパティファイルをロードできるように、各モジュールをどのように構成しますか?現在、PropertyPlaceHolderConfigurerを個別のコンテキストファイルから移動し、メインアプリケーションのコンテキストにマージしました(単一のPropertyPlaceHolderConfigurerですべてのプロパティファイルをロードしています)。ただし、daoモジュールを使用するすべての人が、コンテキストにPropertyPlaceHolderConfigurerが必要であることを知っている必要があるため、これは厄介です。また、daoモジュールの統合テストも失敗します。 Stackoverflowコミュニティからの解決策やアイデアについて知りたいです。
104 java  spring  properties 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.