You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
毎度ながら忘れる。。。 データのインポートはcsv使います。公式ではXMLでの記載しか書いてないですけど、XMLは面倒なんです。 環境springboot 1.5.x DBUnit2.6 DBUnit公式まずは何より公式をチラ見しましょう。 DBUnit 参考SpringBootでDBも絡めた単体テストを書いてみる build.gradletestCompile group: 'com.github.springtestdbunit', name: 'spring-test-dbunit', version: '1.3.0' testCompile group: 'org.dbunit', name: 'dbunit', version: '2.6.0'eclipse上だと、依存を追加するだけで良いが、Jenkinsなどでgradleタスクを実行する場合だと、出力先ディレクトリが変わるので
[!] この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 みなさんはリアクティブプログラミングという言葉を聞いたことがあるでしょうか? リアクティブプログラミングは、リアルタイムに発生するストリームデータを非同期に処理するプログラミングパラダイムです。リアクティブプログラミングでアプリケーションを開発できるライブラリにはAkka ⧉やSpring WebFlux ⧉、ReactiveX ⧉などがあります。 この記事では、その中のSpring WebFluxについて説明し、実際にアプリケーションを開発して学んだことを紹介します。なお、Spring Frameworkの仕組みに関する詳細な説明は行いませんのでご了承ください。 Spring WebFluxの紹介 Spring WebFluxは、リアクティブプログラミングによってノンブロッキングで非
この記事の概要 SpringBootを使用したWebアプリケーションを運用していた JVMメモリを見てみると単調増加している。。。 調査・対応してみたのでそのときのメモ 環境 Java8 spring-boot-starter-web:2.1.1 spring-boot-starter-thymeleaf:2.1.1 調査 まずはどんなオブジェクトが増え続けているのか調べる アプリケーションはkubernetesで管理されている 権限管理の問題でpod内には入れない → jmapでheapdumpが取れない そこでmanagementエンドポイントを使うことにした management: endpoints: web: exposure: include: "heapdump" base-path: "/" server: port: 9990
動作確認環境 Java 11 Spring Boot 2.5.5 一定量以上のoffsetや意図しないSortによる問題 一定量以上のoffset Spring Bootによるpage, sizeへの制限 Spring BootのPageableをControllerの引数にセットすればpage, size等のクエリパラメータを解釈してPageableにセットしてくれる。 OutOfMemoryを防ぐために、Spring Bootのデフォルト設定でsizeに2,000件以上設定しても2,000件になるようになっている(docs.spring.ioか日本語訳spring.pleiades.ioのspring.data.web.pageable.max-page-sizeを参照)。つまりPageableの1ページの件数はセーフガードが入ってる。 しかしpageには上限の設定がない。確かにJav
This document discusses Nissan's NissanConnect system, which connects vehicles to cloud services. It describes the system architecture, which includes car gateways connecting to an Alliance Platform and various Nissan backends. The backends are being transitioned to microservices using Spring Boot and hosted on platforms like Pivotal Cloud Foundry. Details are provided on integration with IS/IT sy
Spring Boot入門 こんにちは。高照です。 Webアプリケーションを作成する際にどうすれば作成できるのか、またはSpring Boot聞いたことあるけど、どういうものなのかよくわからない! という方に向け今回は簡単にWebアプリケーションを作成できるフレームワークのSpring Bootについてご紹介します。 ちなみに私は普段の業務ではSAStrutsというフレームワークを使用していますがSpring Bootを使って見て便利だと思いこの記事を書くことにしました。 フレームワークとは まずSpring Bootの前にフレームワークとは何かをご存じでしょうか。 フレームワークをなんとなく聞いたことがある、なんとなく分かるという方もいるかもしれませんが、具体的にどんなものなのか知らないという方が多い印象です。ぜひこの機会に覚えていただければと思います。 フレームワークとは「あらかじめシ
要旨 Gradleの勉強。クリーンアーキテクチャを実装してみます。 この記事ではgradleについて記述します。実際のコードについては次回記事を参照ください。 元ネタはSpring IO 2019で紹介されていたこちら 以前書いたレイヤーアーキテクチャのサンプルはこちら kotlin-dslで書き直したものはこちら gRPCを導入する際に書き直したものはこちら 下のサンプルほど新しいです ソフトウェアバージョン software version OS MacOS Mojave Spring Boot 2.2.0.M5 Java Corretto-11.0.4.11.1 Kotlin 1.3.50 Gradle 5.6.1 モジュール概要 module description adapters port。api, persistence, web application use case c
(補足)logging.file.max-history File AppenderはRollingFileAppenderを使用します。ファイルのrollingポリシーがspring-boot 1.5.xまでは、SizeBasedTriggeringPolicyでファイルサイズが特定の値に達すると、新しいログファイルを残す機能のみサポートすることになっていました。そのため時間が経過したログを削除するには、サーバーから別にcrondを回すか、別途logback-spring.xmlの設定が必要でした。しかしspring-boot 2.0.0からrollingポリシーがSizeAndTimeBasedRollingPolicyに変更され、デフォルト設定でログが日別に残るようになりました。(例:spring.2018-01-01.log)logging.file.max-historyで指定し
Spring Securiyで再認証するサンプルアプリを作ってみたいと思います この実装が正しいかどうかいまいちわかりません。もっとこうした方がいい等あればコメント頂けると嬉しいです バグがあるかもしれません はじめに 再認証とは ここでは 以下の 1 の事として話を進めます 重要な処理の前、機密性の高い情報を表示する前にユーザー認証を行うこと パスワード変更、アカウント削除、バックアップコード表示、など セッションハイジャック対策、CSRF対策 ログインしたままでいる場合、定期的にユーザー認証すること 参考 徳丸 浩. 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 4.6.2 推測可能なセッションID 成りすましの影響 5.2.7アカウント管理のまとめ OWASP Application Security Verification Standard 4.0 - 3.7.1
ホーム トレノキャンプブログ Spring 【5分でわかる】Springでよく使うアノテーション40選! 基本からバリデーションまでまるっとご紹介 1.そもそもアノテーションとは 2.Springにおけるアノテーションの仕組み 3.Springでよく使われるアノテーション40選 4.バリデーションを行うアノテーション 5.Spring Frameworkを利用する際に必要なスキル 1.そもそもアノテーションとは 「アノテーション」は直訳すると「注釈」です。Java開発でのアノテーションはコードに注釈として補足を加えることで、プログラムの動作を変更したり、開発時のルールを統一できたり、フレームワークに処理を指示したりできる仕組みです。アノテーションには以下の種類が存在します。 マーカーアノテーション 文字通りクラスやメソッドなどに印を付けるために使うアノテーション。 データを持たせることがで
この記事では、Spring Boot アプリに Create React App を組み合わせて SPA の基盤を作成する方法を紹介します。 SPA としての配信するには、フロントエンドとサーバーサイドを完全に分けて、Nginx などでプロキシする方法もありますが、今回紹介するのは、よりインフラの設定が少なくて済む、React を Spring Boot から配信する方法です。 Create React App 導入 Spring Boot まずは普通に、Spring Initializr で Spring Boot アプリが作成されていることを前提とします。
Eclipse と STS の違い STS は Spring 公式のツールで、Eclipse ベースの IDE として単体でインストールしたり、プラグインとして Eclipse に追加することができます。違いは、STS 単体インストールの場合、下記一覧のように機能が少なくなっていますが、自分で好みのプラグインなどをインストールしたり設定していきたい人に向いています。Eclipse に STS プラグインをインストールした場合は、WTP (Web 関連機能) 機能が使用できます。Pleiades All in One の場合は STS の機能に加え、WTP や Pleiades プラグイン、JDK など Spring Boot での開発に必要な多くの機能が含まれていますが、PDE (*1) や Mylyn (*2) などの重量級プラグイン jar 計 300 個 (全体の 1/3) 以上を削
概要 PDFを生成するJasperReports LibraryはSpring Bootから使う事も出来る。 Spring Bootが依存しているSpring Web MVCには、JasperReportsでPDFを返すJasperReportsPdfViewクラスが用意されている。 ただし、JasperReportsPdfViewの中で使われているJasperReportsUtilsクラスは含まれていないので、build.gradleに追加する必要がある。 また、JasperReports Library自体も追加する必要がある。 build.gradle: ~ repositories { mavenCentral() maven { url 'http://jasperreports.sourceforge.net/maven2/' } } dependencies { compil
概要 Fly.ioの無料枠で使えるVM(CPU 1 shared、RAM 256MB)へSpring Bootアプリケーションをデプロイしたのでポイントをメモしておきます。 Cloud Native Buildpacksでビルドしたコンテナイメージをデプロイする コンテナイメージのビルドにはCloud Native Buildpacksを使えます。 fly.tomlへ次のように記述します。 [build] builder = "paketobuildpacks/builder:base" [build.args] BP_JVM_VERSION = "17" BPE_BPL_JVM_THREAD_COUNT = "30" BPE_DELIM_JAVA_TOOL_OPTIONS = " " BPE_APPEND_JAVA_TOOL_OPTIONS = "-XX:ReservedCodeCach
The arrival of Quarkus 1.0 brings an innovative platform for developing Linux container- and kubernetes-native Java microservices. Developers typically have to set aside their existing knowledge as they begin to evaluate new and innovative runtime frameworks. Quarkus is different because it was created by a collection of engineers with a deep expertise in a broad collection of Java technologies. T
@SpringBootTest アノテーションはテスト実行時のコンフィグレーションクラスを自動検出する機能を備えています。SpringBootを使わない場合には @ContextConfiguration でコンフィグレーションを明示する必要があるわけですがそれが不要になるわけです。 自動検出されるのは @SpringBootConfiguration がついたクラスです。このアノテーションは @Configuration と同じ意味ですが @SpringBootTest によって自動的にテストコンフィグレーションに設定されるという点で挙動が異なります。 @SpringBootApplication アノテーションには @SpringBootConfiguration のアノテーションがついているので、 @SpringBootTest アノテーションは @SpringBootApplica
Gradle で管理されている Spring Boot アプリケーションのバージョン情報などをアプリケーションコードから動的に参照できるようにするためのメモです。 ビルド情報を Spring Boot アプリケーションに埋め込む 具体的にやるべきことは リファレンス にも書かれているとおり、以下の 2 つだけです。 Spring Boot Gradle Plugin を利用する build.gradle ファイルに以下を記述する 試しに、上記設定を記述した状態で ./gradlew bootBuildInfo を実行すると、build/resources/main/META-INF ディレクトリ配下に以下のような、バージョン番号などビルドされる (された) アーティファクトに関わる内容の build-info.properties ファイルが生成されます。 build.artifact=s
概要 Spring Boot の プロファイル機能である spring.profiles.include を利用して、例えばステージングと本番の AWS の S3 バケットがちがうというような環境差異を吸収していました。アプリケーション起動時に、spring.profiles.active を JVM オプションに指定して環境差異を吸収できます。 Comma-separated list of active profiles. Can be overridden by a command line switch. Spring Boot 2.4.X にバージョンアップしたところ、これまでの挙動が変わったため、変更する必要が生じたので、その方法をメモしておきます。 参考リンク ^^^^^^^ Change order of spring-profiles using spring.profi
今回の目標 前回はAPIの作成について基本的なことを説明しました。 【Spring BootでREST API】#2 API作成の基本今回はREST APIの基本的な作成方法を説明していきます。ますは認証については考えず、シンプルなGET、POST、PUT、DELETEに対応するAPIを作成していきます。b1tblog.com2020.03.17 今回は前回作成したAPIにエラー処理を実装していきます。前回の内容をそのまま使用しますので、まだ見ていない方は一度見ていただきたいと思います。 実装するエラー処理について 今回はAPIによって次のようなエラーを設定します。(PUT、DELETEは割愛します) パス Httpメソッド Httpステータス 詳細 /api/product/{id} GET 404: Not Found 該当商品がない /api/product POST 400: Ba
今回の目標 前回はUserDetailsの実装について説明しました。 【Spring Security はじめました】#5 ユーザーの実装今回はSpring Securityで認証に使用するユーザー情報の実装について説明します。具体的にはUserDetailsインターフェースを実装するクラスを作成します。b1tblog.com2020.02.27 今回はSpring Securityで行えるセッション管理とRemember Meについて説明をします。 セッションの設定 セッションに関する設定はプロパティとしてapplication.yml(properties)に設定します。これはSpring Bootの共通の設定なので、Spring Securityに関係なく設定できます。 プロパティについてはこちらを参考にしてください。 Spring Boot アプリケーションプロパティ設定一覧 -
スライド概要 動画はこちら→ https://www.youtube.com/watch?v=LGtdpsmMfvI #jsug Spring Fest 2020での発表資料です。 Springの根幹機能はDIとAOPです。しかし、普通に使っているだけだと「@Autowiredを付ければ代入されるんでしょ?」「@Transactionalを付ければ割り込みされるんでしょ?」くらいの曖昧な理解に陥りがちです。 このセッションでは、DIやAOPの重要機能や仕組みを丁寧に解説します。Springの根幹を理解して、初級者から中級者へ、中級者から上級者へステップアップしましょう! ※発表では無かった内容を[おまけ]として加えました
2. © 2020 NTT DATA Corporation 2 自己紹介 @Bean SelfIntroduction selfIntroduction() { return SelfIntroduction.builder() .name("伊藤", "司") .company("株式会社NTTデータ") .role("アーキテクト") .work("一般企業向けのシステム開発") .work("フレームワークの技術検証") .work("コンテナ・k8sの技術検証") .hobby("ガンプラ") .build(); } 3. © 2020 NTT DATA Corporation 3 はじめに • 本セッションで話すこと • Springの2つのWebアプリケーションフレームワークの特徴・違い • Spring MVCの基本的な処理の流れ • Spring WebFluxの基本的な
7. 7 モノリス MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F
例外スロー自作例外クラスSpring Boot では、自作した例外クラスに@ResponseStatusで HTTP ステータスを設定することができます。 この例外がスローされると、設定したステータスのレスポンスが返されます。 注意点として、非検査例外(RuntimeExceptionおよびサブクラス)を継承する必要があります。 @ResponseStatus(HttpStatus.NOT_FOUND) public class NotFoundException extends RuntimeException { public NotFoundexception(String message) { super(message); } }
条件 Spring Boot 2.1.4 maven Windows 10 64bit java 1.8 前提 JDKがローカルPCにインストール済み&パスが設定済みであるとします。 事前準備 Tomcatのダウンロード 以下のサイトから、Tomcat 9をダウンロードします。 https://tomcat.apache.org/download-90.cgi 「64-bit Windows zip」を選択します。 ダウンロードしたzipを任意のディレクトリに解凍します。 今回は以下に解凍しました。 C:\apache-tomcat-9.0.19 環境変数の設定 コントロール パネル > システムとセキュリティ > システム > システムの詳細設定 を選択してシステムのプロパティ画面を開きます。 詳細設定タブの環境変数ボタンを押します。 環境変数画面が開きます。 今回はユーザー環境変数に追
概要 この記事ではBeanのライフサイクルについてまとめています。 割と内部のお話です。 以下のキーワードは知っている前提で進めます。 Bean DI(Dependency Injection) ちなみに先日pivotalが主催するSpring Professional v5.0 Examを受けたのでそのときに勉強した内容のまとめです。 Beanのライフサイクルは大きく3つに分かれます。 1. 初期化フェーズ 2. 利用フェーズ 3. 終了フェーズ 初期化フェーズ このフェーズでは主に Bean定義読み込み・書き換え Bean生成&DI 初期化処理 を行います。 このフェーズが最も複雑です。 大まかな流れはこんな感じ では詳しく見ていきましょう。 Bean定義の読み込み まずBeanの生成に必要な情報の読み込みが行われます。 @Configurationの書かれたJava Config @
Copyright © 2005 - Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. Terms of Use • Privacy • Trademark Guidelines • Thank you • Your California Privacy Rights Apache®, Apache Tomcat®, Apache Kafka®, Apache Cassandra™, and Apache Geode™ are trademarks or registered trademarks of the Apache Software Foundation in the United States and/or other count
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く