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

Spring Bootは、最小限の手間で、Springを利用したプロダクショングレードのアプリケーションとサービスを簡単に作成できるフレームワークです。これは、Springの新規および経験豊富なユーザーのために機能するように設計されたSpringプラットフォームの見解を示しています。

1
コンテナーが埋め込まれたwarファイルと実行可能jarのデプロイに関するアドバイス
Javaスペースでは、現在、Java Webアプリケーションをwarファイル(またはearファイル)の形式でJavaサーブレットコンテナ(またはアプリケーションサーバー)にデプロイするのではなく、アプリケーションを実行可能なjarとしてパッケージ化する傾向があるようです。 jettyのような組み込みサーブレット/ HTTPサーバー。つまり、新しいフレームワークが、アプリケーションをエンドユーザーに配信する方法ではなく、新しいアプリケーションの開発と展開の方法に影響を与えているということです(たとえば、Jenkinsが組み込みコンテナーを使用する理由がわかり、非常に簡単に入手できます。 )。実行可能jarオプションを採用するフレームワークの例: Dropwizard、Spring Boot、およびPlay (サーブレットコンテナーでは実行されませんが、HTTPサーバーは組み込まれています)。 私の質問は、(この時点まではほとんどStruts2)アプリケーションを単一のTomcatアプリケーションサーバーにデプロイした環境から来ています。組み込みコンテナアプローチの使用を計画している場合、どのような変更、ベストプラクティス、または考慮事項を行う必要がありますか。 ?現在、単一のTomcatサーバーで約10個の自家製アプリケーションが実行されています。これらの小さなアプリケーションの場合、リソースを共有し、1台のサーバーで管理できるのは素晴らしいことです。当社のアプリケーションは、エンドユーザーが環境内で実行できるように配布することを目的としたものではありません。ただし、新しいJavaフレームワークを活用することにした場合、このアプローチを変更する必要がありますか?クラウドデプロイメント(Herokuなど)の使用の増加によって、実行可能jarへの移行が促進されていますか? Playスタイルのデプロイメントと単一のアプリケーションサーバーでの従来のwarファイルデプロイメントで複数のアプリケーションを管理した経験がある場合は、洞察を共有してください。

6
Spring Securityで「X-Frame-Options」応答ヘッダーを無効にする方法は?
jspにCKeditorがあり、何かをアップロードするたびに、次のエラーが表示されます。 Refused to display 'http://localhost:8080/xxx/xxx/upload-image?CKEditor=text&CKEditorFuncNum=1&langCode=ru' in a frame because it set 'X-Frame-Options' to 'DENY'. Spring Securityを削除してみましたが、すべてが魅力のように機能します。Spring Security xmlファイルでこれを無効にするにはどうすればよいですか?<http>タグの間に何を書くべきですか

6
Spring BootとMongoDBへの接続の詳細を構成する方法は?
Spring Bootを初めて使用するので、MongoDBの接続の詳細をどのように構成できるのか疑問に思っています。通常の例を試しましたが、接続の詳細については説明していません。 使用するデータベースと、MongoDBを実行するホストのURL /ポートを指定したいと思います。 ヒントやヒントはありますか?

12
SpringBootのresourcesフォルダーからファイルを読み取ります
SpringBootとを使用していjson-schema-validatorます。フォルダjsonschema.jsonから呼び出されたファイルを読み取ろうとしていresourcesます。私はいくつかの異なる方法を試しましたが、それを機能させることができません。これは私のコードです。 ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource("jsonschema.json").getFile()); JsonNode mySchema = JsonLoader.fromFile(file); これはファイルの場所です。 そして、ここで私はclassesフォルダ内のファイルを見ることができます。 しかし、コードを実行すると、次のエラーが発生します。 jsonSchemaValidator error: java.io.FileNotFoundException: /home/user/Dev/Java/Java%20Programs/SystemRoutines/target/classes/jsonschema.json (No such file or directory) コードで何が間違っているのですか?


8
SpringBootで応答としてJSONオブジェクトを返す
SpringBootにサンプルのRestControllerがあります。 @RestController @RequestMapping("/api") class MyRestController { @GetMapping(path = "/hello") public JSONObject sayHello() { return new JSONObject("{'aa':'bb'}"); } } JSONライブラリを使用しています org.json APIを押すと/hello、次のような例外が発生します。 パス[]のコンテキストでサーブレット[dispatcherServlet]のServlet.service()が例外をスローしました[リクエスト処理に失敗しました。ネストされた例外はjava.lang.IllegalArgumentExceptionです:タイプの戻り値のコンバーターが見つかりません:クラスorg.json.JSONObject]根本的な原因 java.lang.IllegalArgumentException:タイプの戻り値のコンバーターが見つかりません:クラスorg.json.JSONObject どうした?誰かが正確に何が起こっているのか説明できますか?

16
Spring-BootとAngularjsを使用したCORSが機能しない
あるアプリケーション(spring-bootアプリケーション)のRESTエンドポイントを別のアプリケーション(angularjs)から呼び出そうとしています。アプリケーションは、次のホストとポートで実行されています。 スプリングブートを使用したRESTアプリケーション、 http://localhost:8080 Angularjsを使用したHTMLアプリケーション、 http://localhost:50029 spring-securityスプリングブートアプリケーションでも使用しています。HTMLアプリケーションからRESTアプリケーションへの認証はできますが、それ以降もRESTエンドポイントにアクセスできません。たとえば、次のように定義されたangularjsサービスがあります。 adminServices.factory('AdminService', ['$resource', '$http', 'conf', function($resource, $http, conf) { var s = {}; s.isAdminLoggedIn = function(data) { return $http({ method: 'GET', url: 'http://localhost:8080/api/admin/isloggedin', withCredentials: true, headers: { 'X-Requested-With': 'XMLHttpRequest' } }); }; s.login = function(username, password) { var u = 'username=' + encodeURI(username); var p …

4
SpringBootアプリケーションの環境固有のapplication.propertiesファイル[クローズ]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。 3ヶ月前に閉店しました。 この質問を改善する Spring Bootアプリケーションで、環境固有のプロパティファイルを作成したいと思います。戦争中の私のアプリケーションのパッケージタイプであり、組み込みのTomcatで実行しています。stsを使用して、sts自体からメインを実行します。 application- $ {env-value} .propertiesのような環境固有のプロパティファイルを作成できますか? 上記の場合、env-valueはlocal / devl / test / prodのような値になります env-valueファイルをどこに設定しますか?ローカルの場合、stsを介してjvm引数として設定できます SpringBootアプリケーションでapplication.propertiesを読み取るユーザー。 環境固有のプロパティファイルをロードする方法は?たとえば、データベースuid、pwd、schemaなどを環境固有のプロパティファイルに設定した場合、その場合、データソースはその中のプロパティを理解できますか? application.propertiesファイルとapplication-local.propertiesファイルを同時に使用できますか?

14
Spring Boot:PasswordEncoderを指定する方法は?
現在、メインクラスを取得しています。 package com.recweb.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication /*@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})*/ public class SpringbootApplication { public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); } } メンバークラス(id、名..)、MemberControllerクラス: package com.recweb.springboot; import java.util.Arrays; import java.util.List; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class MemberController { @GetMapping("/members") public List<Member> getAllUsers() { return Arrays.asList(new Member(1, "amit")); } } …

7
Spring Boot:ファビコンのオーバーライド
Spring Bootのファビコンをオーバーライドするにはどうすればよいですか? 注:これは、コーディングを含まない別のソリューションを提供する別の質問です。SpringBoot:ファットジャーを使用して任意のディレクトリで外部application.propertiesファイルを使用することは可能ですか?これはapplication.properties用ですが、ファビコンにも適用できます。実際、私は現在、ファビコンのオーバーライドにそのメソッドを使用しています。 @EnableWebMvcを持つクラスを実装すると、Spring BootのWebMvcAutoConfigurationクラスが読み込まれず、静的コンテンツのルートディレクトリに配置することで独自のファビコンを提供できます。 それ以外の場合、WebMvcAutoConfigurationはfaviconRequestHandler Beanを登録します(ソースhttps://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/を参照)web / WebMvcAutoConfiguration.java)であり、SpringBootのメインリソースディレクトリに配置される「緑の葉」アイコンを提供します。 @EnableWebMvcを持つクラスを自分で実装せずにオーバーライドして、Spring BootのWebMvcAutoConfigurationクラスのデフォルト構成機能全体を無効にするにはどうすればよいですか? また、クライアント(Webブラウザ)側でアイコンファイルをできるだけ早く更新したいので、ファビコンファイルのキャッシュ期間を0に設定したいと思います(次のコードのように、 「静的」なWebアプリケーションコンテンツとスクリプトファイル。ファイルを変更した後、できるだけ早くクライアント側で更新する必要があります。) public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("/") .setCachePeriod(0); } したがって、SpringBootのfaviconRequestHandlerが尊重するfavicon.icoファイルを保存する場所を見つけるだけでは不十分な場合があります。 更新 これで、ファビコンファイルをsrc / main / resourcesディレクトリに配置することで、デフォルトのファイルを上書きできることがわかりました。しかし、キャッシュ期間の問題は依然として残っています。 また、ファビコンファイルは、リソースディレクトリではなく、静的Webファイルが配置されているディレクトリに配置することをお勧めします。 更新 わかりました、私はなんとかデフォルトのものを上書きすることができました。私がしたことは次のとおりです。 @Configuration public class WebMvcConfiguration { @Bean public WebMvcConfigurerAdapter faviconWebMvcConfiguration() { return new FaviconWebMvcConfiguration(); } public class FaviconWebMvcConfiguration extends …

5
Eclipse + Spring Bootの「thrownewSilentExitException()」でのブレークポイント
Eclipse IDE(Spring Tool Suite)のデバッグモードでSpring Bootプロジェクトを実行するたびにthrow new SilentExitException();、ブレークポイントがなくてもスレッドは行で停止します。 この動作を回避するための解決策はありますか? org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread() (line 53): public static void exitCurrentThread() { throw new SilentExitException(); } これは、1.3.0マイルストーンへのアップグレード後に発生し始めます。 Spring Tool Suite Version: 3.7.0.RELEASE Build Id: 201506290649 プラットホーム: Eclipse Luna SR2 (4.4.2)

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

4
OAuth2RestTemplateのSpring Security 5の置き換え
spring-security-oauth2:2.4.0.RELEASEようなクラスOAuth2RestTemplate、OAuth2ProtectedResourceDetailsおよびClientCredentialsAccessTokenProvider非推奨のように、すべてのマークされています。 これらのクラスのjavadocから、人々が中心的なSpring-Security 5プロジェクトに移行する必要があることをほのめかすSpring Security移行ガイドが示されています。ただし、このプロジェクトでユースケースを実装する方法を見つけるのに苦労しています。 すべてのドキュメントと例では、アプリケーションへの受信リクエストを認証し、サードパーティのOAuthプロバイダーを使用してIDを確認する場合の、サードパーティのOAuthプロバイダーとの統合について説明しています。 私のユースケースRestTemplateでは、OAuthで保護されている外部サービスにをリクエストするだけです。現在、私はOAuth2ProtectedResourceDetailsに渡すクライアントIDとシークレットを使用してを作成していますOAuth2RestTemplate。また、使用しているOAuthプロバイダーが必要とする追加のヘッダーをトークンリクエストにClientCredentialsAccessTokenProvider追加するカスタムをに追加しましたOAuth2ResTemplate。 Spring-Security 5のドキュメントで、トークンリクエストのカスタマイズに言及しているセクションを見つけましたが、これも、サードパーティのOAuthプロバイダーによる着信リクエストの認証に関連しているようです。これをのようなものとどのように組み合わせて使用ClientHttpRequestInterceptorして、外部サービスへの各送信リクエストが最初にトークンを取得し、次にそれをリクエストに追加することを保証するかは明確ではありません。 また、上記の移行ガイドにはOAuth2AuthorizedClientService、インターセプターでの使用に役立つと記載されているへの参照がありますが、これは、を使用しClientRegistrationRepositoryたい場合、サードパーティプロバイダーの登録を維持しているように見えるに依存しているようです着信リクエストが認証されることを保証するために提供します。 アプリケーションからの発信要求に追加するトークンを取得するためにOAuthプロバイダーを登録するために、spring-security 5の新機能を利用できる方法はありますか?

6
MockMvcはSpring Boot 2.2.0.RELEASEでUTF-8文字を処理しなくなりました
新しくリリースされた2.2.0.RELEASEバージョンのSpring Boot にアップグレードした後、一部のテストが失敗しました。と思われるMediaType.APPLICATION_JSON_UTF8非推奨となっており、もはや明示的にコンテンツタイプを指定しないコントローラメソッドからデフォルトのコンテンツタイプとして返されません。 のようなテストコード String content = mockMvc.perform(get("/some-api") .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8)) .andReturn() .getResponse() .getContentAsString(); 以下に示すようにコンテンツタイプが一致しないため、突然機能しなくなりました java.lang.AssertionError: Content type Expected :application/json;charset=UTF-8 Actual :application/json .andExpect(content().contentType(MediaType.APPLICATION_JSON))今のところ問題を解決するためにコードを変更します。 しかしcontent、期待されるシリアル化されたオブジェクトと比較すると、オブジェクトに特殊文字がある場合でも不一致が発生します。この.getContentAsString()メソッドは、デフォルトでは(これ以上)UTF-8文字エンコーディングを使用しないようです。 java.lang.AssertionError: Response content expected:<[{"description":"Er hörte leise Schritte hinter sich."}]> but was:<[{"description":"Er hörte leise Schritte hinter sich."}]> Expected :[{"description":"Er hörte leise Schritte hinter sich."}] Actual :[{"description":"Er hörte …

2
最初の呼び出しが遅くなるのを避けるためにJavaクラスをウォームアップする方法は?
すべてのAPI呼び出しを1秒未満で実行する必要があるプロジェクトを実行していますが、各ルートへの最初の呼び出しで、次の呼び出しよりも遅い問題に直面しています。 現在、/ loginへの最初の呼び出しには3.6秒かかり、次の呼び出しには170ミリ秒かかり、他のすべてのルートで同じです。 -XX:+TraceClassLoading最初の呼び出しでそれを使用して、クラスがメモリにロードされ、パフォーマンスの問題を引き起こしたことがわかりました。 ただし、起動時にすべてのクラスをロードする簡単な方法が見つからなかったため、新しいサービスごとに、ApplicationRunnerにウォームアップコールを追加する必要があります。 SpringBootアプリケーションのクラスを自動的にロードするか、そのすべてのルートをウォームアップするソリューションは誰にもありますか?

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