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

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

1
春:パスに関する/ **と/ *の違い
パスを参照するとき、1つのアスタリスクではなく2つのアスタリスクの違いは何ですか? 以前、Spring3プロジェクトをデバッグしていました。を使用して.swfを追加しようとしていました <spring:url var="flashy" value="/resources/images/flash.swf"/> 私のweb.xmlのResourceServletは次のようになっています <servlet-name>Resource Servlet </servlet-name> <url-pattern>/resources/*</url-pattern> しかし、残念ながら、私はこのエラーを受け取っていました: WARN org.springframework.js.resources.ResourceServlet - An attempt to access a protected resource at /images/flash.swf was disallowed. imagesフォルダ内のすべての画像にアクセスしたので、本当に奇妙だと思いましたが、どうして.swfが「保護」されたのですか? その後、私は変更することを決めた/resources/*に/resources/**し、それが最終的に働きました。私の質問は...なぜですか?

3
Spring Cloud EurekaServerの自己保存と更新のしきい値を理解する
私はマイクロサービスの開発に不慣れですが、SpringのドキュメントとNetflixのドキュメントの両方を読んで、しばらくの間マイクロサービスについて研究してきました。 Githubで利用できる簡単なプロジェクトを開始しました。これは基本的に、Eurekaサーバー(アルキメデス)と3つのEurekaクライアントマイクロサービス(1つはパブリックAPI、2つはプライベート)です。詳細な説明については、githubのreadmeを確認してください。 重要なのは、すべてが実行されているときに、プライベートマイクロサービスの1つが強制終了された場合、Eurekaサーバーがそれを認識してレジストリから削除することです。 Stackoverflowでこの質問を見つけました。ソリューションenableSelfPreservation:falseは、Eurekaサーバー構成で使用することで合格します。しばらくすると、これを実行すると、強制終了されたサービスが期待どおりに消えます。 ただし、次のメッセージが表示されます。 自己保存モードがオフになっています。これは、ネットワーク/その他の問題が発生した場合にインスタンスの有効期限を保護しない場合があります。 1.自己保存の目的は何ですか?ドキュメントの状態、その上の自己保存と「クライアントはもはや存在しないインスタンスを取得することができます」。では、いつオン/オフにすることをお勧めしますか? さらに、自己保存がオンの場合、Eurekaサーバーコンソールの警告で未処理のメッセージが表示される場合があります。 緊急!EUREKAは、そうでない場合でも、誤ってクレームインスタンスがアップしている可能性があります。更新はしきい値よりも少ないため、安全のためにインスタンスの有効期限が切れることはありません。 さて、SpringEurekaコンソールを続けます。 Lease expiration enabled true/false Renews threshold 5 Renews (last min) 4 しきい値カウントの奇妙な動作に遭遇しました。Eurekaサーバーを単独で起動すると、しきい値は1になります。 2. Eurekaサーバーが1つあり、registerWithEureka: false別のサーバーに登録されないように構成されています。それでは、なぜそれがしきい値カウントに表示されるのですか? 3.クライアントごとに、しきい値カウントが+2ずつ増加し始めます。毎分2通の更新メッセージを送信しているからだと思いますよね? 4. Eurekaサーバーは更新を送信しないため、最後の最小更新は常にしきい値を下回ります。これは正常ですか? renew threshold 5 rewnews last min: (client1) +2 + (client2) +2 -> 4 サーバーcfg: server: port: ${PORT:8761} eureka: instance: hostname: localhost client: …

2
ステートレスセッションBeanよりもステートフルセッションBeanを使用する場合
ステートフルセッションBeanは次のように定義されます。 ステートフルセッションBeanオブジェクトの状態は、そのインスタンス変数の値で構成されます。ステートフルセッションBeanでは、インスタンス変数は一意のクライアントBeanセッションの状態を表します。クライアントはそのBeanと対話(「トーク」)するため、この状態はしばしば会話状態と呼ばれます。 ステートレスセッションBeanは次のように定義されます。 ステートレスセッションBeanステートレスセッションBeanは、クライアントとの会話状態を維持しません。クライアントがステートレスBeanのメソッドを呼び出す場合、Beanのインスタンス変数には、そのクライアントに固有の状態が含まれる場合がありますが、呼び出しの期間中のみです。メソッドが終了したとき、クライアント固有の状態は保持されるべきではありません。ただし、クライアントはプールされたステートレスBeanのインスタンス変数の状態を変更でき、この状態はプールされたステートレスBeanの次の呼び出しに保持されます。メソッド呼び出し中を除いて、ステートレスBeanのすべてのインスタンスは同等であり、EJBコンテナがインスタンスを任意のクライアントに割り当てることができます。つまり、ステートレスセッションBeanの状態は、すべてのクライアントに適用される必要があります。 ステートフルセッションBeanよりもステートレスセッションBeanを使用する利点は次のとおりです。 ステートレスセッションBeanは複数のクライアントをサポートできるため、多数のクライアントを必要とするアプリケーションのスケーラビリティを向上させることができます。通常、アプリケーションは、同じ数のクライアントをサポートするために、ステートフルセッションBeanよりも少ないステートレスセッションBeanを必要とします。 では、頭に浮かぶ質問は、ステートフルセッションBeanをいつ使用すべきかということです。この問題についての私の素朴な理解には、ステートレスセッションBeanをできるだけ使用することに固執する必要があります。 ステートフルセッションBeanを使用する候補は何でしょうか。良い例はありますか? セッションビーン

6
Springでジェネリック型<T>のBeanを自動配線する方法は?
クラスItem&lt;T&gt;で自動配線する必要があるBeanがあり@Configurationます。 @Configuration public class AppConfig { @Bean public Item&lt;String&gt; stringItem() { return new StringItem(); } @Bean public Item&lt;Integer&gt; integerItem() { return new IntegerItem(); } } しかし、しようとすると@Autowire Item&lt;String&gt;、次の例外が発生します。 "No qualifying bean of type [Item] is defined: expected single matching bean but found 2: stringItem, integerItem" Item&lt;T&gt;Springでジェネリック型をAutowireするにはどうすればよいですか?

6
なぜSpringFrameworkなのか?[閉まっている]
クローズ。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 7年前に閉鎖されました。 この質問を改善する 最近、SpringFrameworkについてよく耳にします。業界でSpringFrameworkの周りにこれほど多くの話題があるのはなぜですか?
82 java  spring 

9
Spring自動配線からサブパッケージを除外しますか?
Spring 3.1でパッケージ/サブパッケージを自動配線から除外する簡単な方法はありますか? たとえば、の基本パッケージにコンポーネントスキャンを含めたい場合com.example、除外する簡単な方法はありcom.example.ignoreますか? (なぜですか?統合テストから一部のコンポーネントを除外したいのですが)
82 spring  autowired 

4
ApplicationContextAwareはSpringでどのように機能しますか?
春に、Beanが実装する場合、BeanはにApplicationContextAwareアクセスできますapplicationContext。したがって、他のBeanを取得できます。例えば public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; public void setApplicationContext(ApplicationContext context) throws BeansException { applicationContext = context; } public static ApplicationContext getApplicationContext() { return applicationContext; } } 次にSpringContextUtil.getApplicationContext.getBean("name")、Beanの「名前」を取得できます。 これを行うSpringContextUtilにはapplications.xml、これを内部に配置する必要があります。 &lt;bean class="com.util.SpringContextUtil" /&gt; ここでは、BeanSpringContextUtilにプロパティは含まれていませんapplicationContext。Spring Beanが初期化されると、このプロパティが設定されると思います。しかし、これはどのように行われますか?メソッドはどのようsetApplicationContextに呼び出されますか?
82 java  spring 

4
Spring Dataで@Transactionalを使用する方法は?
Spring-data、Hibernate、MySQL、JPAプロジェクトに取り組み始めたところです。手作業でクエリを作成することを心配する必要がないように、Springデータに切り替えました。 @Transactionalアノテーションなしでクエリも試したので、spring-dataを使用している場合はを使用する必要がないことに気付きました。 @Transactionalアノテーションを使用すべき/使用すべきでない特定の理由はありますか? 作品: @Transactional public List listStudentsBySchool(long id) { return repository.findByClasses_School_Id(id); } また動作します: public List listStudentsBySchool(long id) { return repository.findByClasses_School_Id(id); } 前もって感謝します!

5
Spring-Beanの初期化に静的な最終フィールド(定数)を使用する
次のようにCoreProtocolPNamesクラスの静的最終フィールドを使用してBeanを定義することは可能ですか? &lt;bean id="httpParamBean" class="org.apache.http.params.HttpProtocolParamBean"&gt; &lt;constructor-arg ref="httpParams"/&gt; &lt;property name="httpElementCharset" value="CoreProtocolPNames.HTTP_ELEMENT_CHARSET" /&gt; &lt;property name="version" value="CoreProtocolPNames.PROTOCOL_VERSION"&gt; &lt;/bean&gt; public interface CoreProtocolPNames { public static final String PROTOCOL_VERSION = "http.protocol.version"; public static final String HTTP_ELEMENT_CHARSET = "http.protocol.element-charset"; } 可能であれば、これを行うための最良の方法は何ですか?

2
カスタムフィルターでJava構成を使用してAuthenticationManagerを挿入する方法
Spring Security3.2とSpring4.0.1を使用しています 私はxml構成をJava構成に変換することに取り組んでいます。フィルタで注釈を付けるAuthenticationManagerと@Autowired、例外が発生します Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.security.authentication.AuthenticationManager] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 注入を試みましたAuthenticationManagerFactoryBeanが、同様の例外で失敗します。 これが私が作業しているXML構成です &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans ...&gt; &lt;security:authentication-manager id="authenticationManager"&gt; &lt;security:authentication-provider user-service-ref="userDao"&gt; &lt;security:password-encoder ref="passwordEncoder"/&gt; &lt;/security:authentication-provider&gt; &lt;/security:authentication-manager&gt; &lt;security:http realm="Protected API" use-expressions="true" …

5
「@Transactional」はサービスレイヤーまたはDAOのどこに配置する必要がありますか
まず、以前に質問と回答をしたことがあるのに、検索結果を取得できなかった可能性があります。一般的に(またはこれまでのところ常に:))サービスレイヤーでトランザクションアノテーションを定義します典型的な春の休止状態のクラッドは通常です Controller-&gt; Manager-&gt; Dao-&gt; Orm。 クライアントサイトに基づいてドメインモデルを選択する必要がある状況になりました。クライアントAが私のドメインモデルを使用しているとしましょう。すべて問題ありませんが、他のクライアントサイトがWebサービスを提供し、ドメインモデルを使用していません。 どのレイヤーを置き換える必要がありますか。Webサービスからデータを取得して送り返すのはDAOである必要があると思います。つまり、2つの別々に記述されたDAOレイヤーであり、シナリオに基づいてプラグインされます。 @Transactionalサービスレイヤーに配置したときに、密結合を行っていることに気付きました(そのようなことがある場合、または疎結合がないと言う場合)。非常に多くの脳が間違っているはずがありませんか、それとも彼らですか(私はそれを疑っています)。 したがって、質問は「@TransactionalサービスレイヤーまたはDAOをどこに配置する必要があるか」です。そして、それは私が置き換える必要がある下向きのサービス層ですか。

5
Spring-Boot:接続の最大数などのJDBCプールプロパティを設定するにはどうすればよいですか?
Spring-Bootは非常に優れたツールですが、より高度な構成に関しては、ドキュメントが少しまばらです。データベース接続プールの最大サイズなどのプロパティを設定するにはどうすればよいですか? 春ブートサポートtomcat-jdbc、HikariCPおよびCommons DBCPネイティブには、それらはすべて同じように構成されていますか?

9
Springアノテーション@Controllerは@Serviceと同じですか?
Springアノテーションは@Controllerと同じ@Serviceですか? ビジネスロジックのマッピングと呼び出しに@Controllerどちらを使用できるかについての考えがありますURL。 一方、@Serviceビジネス・ロジックが含まれている注釈サービスクラスに使用。 サービスクラスに注釈を付ける@Controller代わりに使用できます@Serviceか?

4
SpringBootとSpringSecurityでRESTAPIを保護する方法は?
REST APIの保護が広くコメントされているトピックであることは知っていますが、自分の基準を満たす小さなプロトタイプを作成できません(そして、これらの基準が現実的であることを確認する必要があります)。リソースを保護する方法やSpringセキュリティをどのように使用するかについては、非常に多くのオプションがあります。自分のニーズが現​​実的かどうかを明確にする必要があります。 私の要件 トークンベースのオーセンティケーター-ユーザーはその資格情報を提供し、一意で時間制限のあるアクセストークンを取得します。トークンの作成、有効性の確認、有効期限を自分の実装で管理したいと思います。 一部のRESTリソースは公開されます-認証する必要はまったくありません、 一部のリソースには、管理者権限を持つユーザーのみがアクセスできます。 他のリソースは、すべてのユーザーの承認後にアクセスできるようになります。 基本認証を使いたくない Javaコード構成(XMLではない) 現在の状態 私のRESTAPIは非常にうまく機能しますが、今度はそれを保護する必要があります。解決策を探していたときに、javax.servlet.Filterフィルターを作成しました。 @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; String accessToken = request.getHeader(AUTHORIZATION_TOKEN); Account account = accountDao.find(accessToken); if (account == null) { throw new UnauthorizedException(); } chain.doFilter(req, res); } しかし、Springjavax.servlet.filtersを介した例外処理に問題があるため、このソリューションは必要に応じて機能しません。@ControllerAdviceservlet …

12
log4j:WARNweb.xmlにロガーのアペンダーが見つかりませんでした
すでにlog4jConfigLocationをweb.xmlに配置しましたが、それでも次の警告が表示されます。 log4j:WARN No appenders could be found for logger ⤦ ⤥ (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly. 私は何を取りこぼしたか? &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "java.sun.com/dtd/web-app_2_3.dtd"&gt; &lt;web-app&gt; &lt;context-param&gt; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; &lt;param-value&gt; /WEB-INF/applicationContext.xml &lt;/param-value&gt; &lt;/context-param&gt; &lt;context-param&gt; &lt;param-name&gt;log4jConfigLocation&lt;/param-name&gt; &lt;param-value&gt;/WEB-INF/classes/log4j.properties&lt;/param-value&gt; &lt;/context-param&gt; &lt;listener&gt; &lt;listener-class&gt; org.springframework.web.util.Log4jConfigListener &lt;/listener-class&gt; &lt;/listener&gt; &lt;listener&gt; …

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