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

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

21
Spring Boot-例外を含むすべての要求と応答を1か所に記録する方法
私は春のブートで残りのAPIに取り組んでいます。入力パラメーター(GET、POSTなどのメソッドを使用)、要求パス、クエリ文字列、この要求の対応するクラスメソッド、このアクションの応答(成功とエラーの両方)を含むすべての要求をログに記録する必要があります。 例として: 成功したリクエスト: http://example.com/api/users/1 ログは次のようになります。 { HttpStatus: 200, path: "api/users/1", method: "GET", clientIp: "0.0.0.0", accessToken: "XHGu6as5dajshdgau6i6asdjhgjhg", method: "UsersController.getUser", arguments: { id: 1 }, response: { user: { id: 1, username: "user123", email: "user123@example.com" } }, exceptions: [] } またはエラーでリクエスト: http://example.com/api/users/9999 ログは次のようになります。 { HttpStatus: 404, errorCode: 101, path: "api/users/9999", method: "GET", …

15
Spring Bootの開始後にコードを実行する
Spring -Bootアプリがディレクトリの変更を監視し始めた後にコードを実行したいと思います。 新しいスレッドを実行してみましたが、@Autowiredその時点ではサービスが設定されていません。 アノテーションが設定さApplicationPreparedEventれる前に発生するを見つけることができました@Autowired。理想的には、アプリケーションがhttpリクエストを処理する準備ができたらイベントを発生させたいと思います。 使用するより良いイベント、またはアプリケーションがスプリングブートでライブになった後にコードを実行するより良い方法はありますか?
211 java  spring  spring-boot 

9
Spring Bootは2つのデータソースを構成して使用します
2つのデータソースを構成して使用するにはどうすればよいですか? たとえば、ここに私が最初のデータソースのために持っているものがあります: application.properties #first db spring.datasource.url = [url] spring.datasource.username = [username] spring.datasource.password = [password] spring.datasource.driverClassName = oracle.jdbc.OracleDriver #second db ... アプリケーションクラス @SpringBootApplication public class SampleApplication { public static void main(String[] args) { SpringApplication.run(SampleApplication.class, args); } } application.properties別のデータソースを追加するように変更するにはどうすればよいですか?別のリポジトリで使用されるように自動配線するにはどうすればよいですか?



12
春にリストBeanを定義する方法は?
Springを使用して、アプリケーションのステージを定義しています。必要なクラス(ここではと呼ばれますConfigurator)にステージが挿入されるように構成されています。 次に、という名前の別のクラスにステージのリストが必要LoginBeanです。Configuratorステージの彼のリストへのアクセスを提供していません。 クラスは変更できませんConfigurator。 私のアイデア: Stagesという新しいBeanを定義し、それをConfiguratorandに注入しLoginBeanます。このアイデアの私の問題は、このプロパティを変換する方法がわからないことです。 <property ...> <list> <bean ... >...</bean> <bean ... >...</bean> <bean ... >...</bean> </list> </property> 豆に。 このようなものは機能しません: <bean id="stages" class="java.util.ArrayList"> 誰かがこれを手伝ってくれる?
203 java  spring 

6
毎日の春のcron式1:01:am
Spring cron式に基づいて、コードを一定のスケジュールで実行しようとしています。毎日1:01:amにコードを実行してほしい。次の式を試してみましたが、気になりませんでした。ここの構文の何が問題になっていますか? @Scheduled(cron = "0 1 1 ? * *") public void resetCache() { // ... }


8
Spring Bootのapplication.propertiesでenv変数を使用する
私たちはSpring Boot Webアプリに取り組んでおり、使用しているデータベースはMySqlです。 私たちの設定は、最初にローカルでテストすることです(つまり、PCにMySqlをインストールする必要があります)。 次に、Bitbucketにプッシュします。 JenkinsはBitbucketへの新しいプッシュを自動的に検出し、それに基づいてビルドを実行します(Jenkins mvn buildをパスするには、Jenkinsを実行している仮想マシンにMySqlをインストールする必要もあります)。 Jenkinsビルドが成功した場合、OpenShiftのアプリケーションにコードをプッシュします(JenkinsのOpenshiftデプロイメントプラグインを使用)。 あなたがすでにそれを理解しているかもしれないので、私たちが抱えている問題は次のとおりです: でapplication.properties我々のハードコードMySQLの情報はできません。プロジェクトは3つの異なる場所(local、Jenkins、およびOpenShift)で実行されるため、データソースフィールドを動的にする必要がありますapplication.properties(これにはさまざまな方法があることはわかっていますが、今のところこのソリューションに取り組んでいます)。 spring.datasource.url = spring.datasource.username = spring.datasource.password = 私たちが思いついた解決策は、ローカルおよびJenkins vmでシステム環境変数を作成し(OpenShiftがそれらに名前を付けるのと同じ方法でそれらに名前を付け)、それぞれに適切な値を割り当てることです: export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost" export OPENSHIFT_MYSQL_DB_PORT="3306" export OPENSHIFT_MYSQL_DB_USERNAME="root" export OPENSHIFT_MYSQL_DB_PASSWORD="123asd" 私たちはこれを実行し、それは機能します。またMap<String, String> env = System.getenv();、環境変数を次のようにJava変数にできることを確認しました。 String password = env.get("OPENSHIFT_MYSQL_DB_PASSWORD"); String userName = env.get("OPENSHIFT_MYSQL_DB_USERNAME"); String sqlURL = env.get("OPENSHIFT_MYSQL_DB_HOST"); String sqlPort = env.get("OPENSHIFT_MYSQL_DB_PORT"); 今残っているのは、これらのJava変数を使用する必要があることだけですapplication.properties。それが問題です。 どのフォルダには、どのように、私たちが割り当てる必要がありませんpassword、userName、sqlURL、およびsqlPortのための変数application.propertiesにそれらを見て、どのように我々はそれらを含めないことができるようにするのapplication.properties? …

8
Spring @Transactional属性はプライベートメソッドで機能しますか?
Spring Beanのプライベートメソッドに@Transactional -annotation がある場合、注釈は効果がありますか? 場合は@Transactional、注釈がパブリックメソッドである、それが動作し、トランザクションを開きます。 public class Bean { public void doStuff() { doPrivateStuff(); } @Transactional private void doPrivateStuff() { } } ... Bean bean = (Bean)appContext.getBean("bean"); bean.doStuff();


1
WildflyのSpring Security:フィルターチェーンの実行中のエラー
Spring Security SAML ExtensionをSpring Bootと統合しようとしています。 この件については、完全なサンプルアプリケーションを開発しました。そのソースコードはGitHubで入手できます。 GitHubのspring-boot-saml-integration これをSpring Bootアプリケーション(SDK組み込みアプリケーションサーバーに対して実行)として実行することにより、WebAppは正常に動作します。 残念ながら、同じAuthNプロセスはUndertow / WildFlyではまったく機能しません。 ログによると、IdPは実際にAuthNプロセスUserDetailsを実行します。カスタム実装の指示は正しく実行されます。実行フローにもかかわらず、Springは現在のユーザーの権限を設定および保持しません。 @Component public class SAMLUserDetailsServiceImpl implements SAMLUserDetailsService { // Logger private static final Logger LOG = LoggerFactory.getLogger(SAMLUserDetailsServiceImpl.class); @Override public Object loadUserBySAML(SAMLCredential credential) throws UsernameNotFoundException, SSOUserAccountNotExistsException { String userID = credential.getNameID().getValue(); if (userID.compareTo("jdoe@samplemail.com") != 0) { // We're simulating …

5
Spring MVCのApplicationContextとWebApplicationContextの違いは何ですか?
アプリケーションコンテキストとWebアプリケーションコンテキストの違いは何ですか? WebApplicationContextSpring MVCアーキテクチャ指向のアプリケーションに使用されていることを知っていますか? ApplicationContextMVCアプリケーションでの使用方法を知りたいのですが?そして、どのような種類の豆が定義されていApplicationContextますか?

14
Spring-MVCコントローラーで404をトリガーしますか?
スプリングを入手するには 3.0コントローラーで404をトリガーするにですか? 私はコントローラを備えており、コントローラにアクセスする@RequestMapping(value = "/**", method = RequestMethod.GET)一部のURLについては、コンテナに404を作成したいと考えています。
193 java  spring  spring-mvc 

5
Spring RestTemplateリクエストに「Accept:」ヘッダーを設定する方法は?
Accept:Springを使用して作成するリクエストでの値を設定したいRestTemplate。 これが私のSpringリクエスト処理コードです @RequestMapping( value= "/uom_matrix_save_or_edit", method = RequestMethod.POST, produces="application/json" ) public @ResponseBody ModelMap uomMatrixSaveOrEdit( ModelMap model, @RequestParam("parentId") String parentId ){ model.addAttribute("attributeValues",parentId); return model; } ここに私のJava RESTクライアントがあります: public void post(){ MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>(); params.add("parentId", "parentId"); String result = rest.postForObject( url, params, String.class) ; System.out.println(result); } これは私にとってはうまくいきます。サーバー側からJSON文字列を取得します。 私の質問は:私は指定することができますどのようにAccept:ヘッダ(例えばapplication/json、application/xml(例えば、...)とリクエストメソッドGET、POST、...)私はRestTemplateを使うのか?

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