タグ

springに関するHHRのブックマーク (25)

  • cve-2022-22965 Spring4Shell の影響調査 | DevelopersIO

    はじめに こむろです。 Spring4Shell についてです。どうせお前ら調査してたんだろ?と思ったあなた、大正解です。 結論 非常に広範な影響がありましたが、現時点で、Spring Framework 体への修正パッチがすでに適用されています。そのためこれに準じたアップデートを実施することで脆弱性を回避できます。 spring-boot-2-6-6 spring-boot-2-5-12 spring-framework-5.3.18 Tomcat 9.0.62 またこれらのアップデートができない場合、以下の対応を取ることもできます。 不要なパラメータのマッピングを行わないようにコードを追加する (Binding のブラックリストへ class.* 系を追加) Java8 へ一旦ダウングレードする Tomcat 9.0.62 へ Update することで設定値自体の書き換えをできないよ

    cve-2022-22965 Spring4Shell の影響調査 | DevelopersIO
    HHR
    HHR 2022/04/06
    Tomcat のログファイル設定のためのパラメータが上書きされ、本来ログファイルとして出力されるものが、JSP ファイルとして出力される
  • Spring Frameworkの脆弱性 CVE-2022-22965(Spring4shell)についてまとめてみた - piyolog

    2022年3月31日、Spring Frameworkに致命的な脆弱性が確認され、修正版が公開されました。ここでは関連する情報をまとめます。 1.何が起きたの? JDK9以上で実行されるSpringMVC、SpringWebFluxでリモートコード実行が可能な脆弱性(CVE-2022-22965)が確認された。脆弱性の通称にSpring4shellまたはSpringShellが用いられている。 Spring FrameworkはJavaで採用される主流なフレームワークの1つのため、Javaで実行されるWebアプリケーションで利用している可能性がある。 2022年3月31日時点で脆弱性のExploitコードが出回っており、関連するインターネット上の活動が既に報告されている。 2.脆弱性を悪用されると何が起きるの? 脆弱性を悪用された場合、リモートから任意コード実行が行われることで、機密情報の

    Spring Frameworkの脆弱性 CVE-2022-22965(Spring4shell)についてまとめてみた - piyolog
  • 最近のJava界隈はとても良い感じ - Qiita

    はじめに 私はこれまでのエンジニア歴で継続的にJavaを使い続けていますが、以前と比較すると使い勝手の面で格段に良くなっていると実感しています。 また、JJUG、JSUGなどで講演を聞いたりしたりする中で、個人的に最近のJava界隈は非常に進歩的で良い感じだと感じています。 そんな中、「Javaは人口が多いだけで特別に採用するメリットが無い」「Javaはレガシーで生産性が低い」というツイートを見かけたので、その反論を込めて私の考えを書き連ねたいと思います。 なお、以下で述べる内容には、Javaが良いというよりは、特定のフレームワークが良いだけ、というものもありますが、あくまでJava「界隈」について述べているのであしからず 。 最近のJavaの良いと思う点 言語仕様、標準ライブラリの改善 プロジェクトの立ち上がりの早さ 型安全性の活用 マイクロサービスアーキテクチャへの対応 パフォーマンス

    最近のJava界隈はとても良い感じ - Qiita
  • Spring Boot 1.4+でRestTemplate(HTTPクライアント)を使う - Qiita

    Spring Boot 1.4からRestTemplateのBuilderクラス(org.springframework.boot.web.client.RestTemplateBuilder)が追加され、自動コンフィギュレーションされます。RestTemplateBuilderを利用すると、共通的なコンフィギュレーションを適用しつつ、個別のカスタマイズも簡単に適用することができるようになります。 Note: RestTemplateって何もの? RestTemplateは、Spring Frameworkが提供しているHTTPクライアントクラスです。デフォルトではJava標準のHttpURLConnectionが使われますが、Apache HttpClient、Netty 4、OkHTTP 2/3を利用してHTTP通信することもできます。 RestTemplateについては、TERASO

    Spring Boot 1.4+でRestTemplate(HTTPクライアント)を使う - Qiita
    HHR
    HHR 2018/09/17
    rest client
  • Spring Boot と Spring Framework の IoC コンテナについて - RAMBO

    Spring Framework について。当初は Spring Framework のコア機能だけを取り上げるつもりだったが、地味な話ばかりになってしまいそうだったので、流行りモノであるところの Spring Boot の話を盛り込み、コア機能は IoC コンテナの話題に絞ることにした。 Spring Boot 最近の Spring Framework ベースのアプリケーション開発で欠かせないのが Spring Boot である。Spring Boot とは、公式によれば: Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring

    HHR
    HHR 2018/09/17
    @Configuration, @Bean, @Scope デフォルトはシングルトン, @Component ステレオタイプとして @Controller @Service @Repository, @Autowired, @Value システムプロパティ参照, @PostConstruct @PreDestroy, @Profile
  • Spring BootでAutowiredされるクラスをMockitoでモックする - Qiita

    はじめに Spring Bootで@Controller @Service @Repository@Componentといったアノテーションを付与したクラスはBeanとしてSpringのDIコンテナに登録され、利用するクラス側で@Autowiredアノテーションを当該クラスに付与することで、Springが生成したオブジェクトを利用できます。 ところで、Mockitoを使って先述のアノテーションを付与したクラスをモックしてテストしたい場合、通常の@Mockや@Spyではなく、Spring Bootが提供する@MockBeanもしくは@SpyBeanアノテーションを当該クラスに付与します。 これらのアノテーションを利用することで、Autowiredされるクラスの状態をモックオブジェクトで制御することができるようになり、単体テストや下位層が未完成あるいはテストで呼び出されるべきではない場合などに

    Spring BootでAutowiredされるクラスをMockitoでモックする - Qiita
    HHR
    HHR 2018/07/20
    “Mockitoを使って先述のアノテーションを付与したクラスをモックしてテストしたい場合、通常の@Mock@Spyではなく、Spring Bootが提供する@MockBeanもしくは@SpyBeanアノテーションを当該クラスに付与”
  • JSR 303 Bean Validationで遊んでみるよ! - Yamkazu's Blog

    その名のとおりJavaBeansの為のValidationの仕様であるJSR303ですが、近頃でもないですがHibernateはもちろん、その他SpringやOvalなどの周辺フレームワークの対応が進んでずいぶん使いやすくなってきました。 ところでアプリケーション作っててValidationの仕組みって毎回悩みませんか?私がJavaでWebアプリケーションつくりはじめた頃なんかだとStruts1.xが全盛期でvalidation.xml、validation-rule.xmlとか使って書いてましたが(今考えれば二度とやりたくないですねw)、今でも毎回どのチェックをどのレイヤ(アプリケーションレイヤ?ドメインレイヤ?)に持たせるかとか、データストアに問い合わせしないといけないValidationって画面の入力だけでチェックできるのとどう管理しようかなとか、色々と悩むこともしばしばです。最近D

    JSR 303 Bean Validationで遊んでみるよ! - Yamkazu's Blog
    HHR
    HHR 2018/07/10
    springのvalidアノテーションの実態はこれ。hibernate-validatorがほぼほぼリファレンス実装っぽい?
  • Spring での責務についてまず見てほしい一枚の絵 - Qiita

    2018-05-30 追記 この記事は最終更新日から1年以上が経過しています。 というメッセージが長らく出ていたにも関わらず、今でもそこそこ読んでもらえているようなので、新たに 改訂版を書きました。 新年度を迎え、新たな職場、新たな環境で、はじめて Spring に触れている方も多いかと思います。 とくに、これまでは少人数開発しか経験してこなかったような新人さんがたにおいては、エンプラ開発では非常に多く採用されている Spring を、今まさに学んでいるという方、多いのではないでしょうか。 今回は Spring を学ぶにあたり、まずおさえておきたい基的な考え方をまとめてみます。 全体俯瞰 Spring MVC には、それぞれ一定の責務を持ったコンポーネントが定義されており、その多くは特定のアノテーションに対応付けられています。 はじめに、それぞれの役割と相互関係を理解しておくことで、Sp

    Spring での責務についてまず見てほしい一枚の絵 - Qiita
    HHR
    HHR 2018/04/12
  • Spring BootのFully Executable Warを試す - Qiita

    Spring Boot 1.3.0.RELEASEからSpring Bootのアプリケーションを単なるExecutable Warではなく、Fully Executable Warとして実行できるようになりました。 Executable Warの場合、systemdを利用しなければjavaで起動するためのシェルが必要でしたが、Fully Executable Warとすることでこういったシェルを作成する必要がなくなります。 Fully Executable Warの作成方法 spring-boot-maven-pluginをpluginに加え、executable設定をtrueにしてmvn installすると、Fully Executable Warが作成されます。 <parent> <groupId>org.springframework.boot</groupId> <artifac

    Spring BootのFully Executable Warを試す - Qiita
    HHR
    HHR 2017/04/25
  • Spring Data JPA - Reference Documentation

    Oliver Gierke Thomas Darimont Christoph Strobl Mark Paluch Jay Bryant Greg Turnquist version 3.1.5, 2023-10-13

    HHR
    HHR 2017/04/06
    repositoryのmethod命名規則
  • Core Features

    This section dives into the details of Spring Boot. Here you can learn about the key features that you may want to use and customize. If you have not already done so, you might want to read the "Getting Started" and "Developing with Spring Boot" sections, so that you have a good grounding of the basics. The SpringApplication class provides a convenient way to bootstrap a Spring application that is

    HHR
    HHR 2017/04/04
    propertiesファイルを読む@Componentの作成方法
  • Spring boot 1.4 testing with Spock - Qiita

    はじめに Spring Boot 1.4が今年の7月末にリリースされましたね。 こちらの記事にも書いてある通り、Spring Boot 1.4ではテストが非常に改善されました! となると、Spockでテストを書きたくなりますよね!? ここではSpring Boot 1.4でSpockを使用したテスト方法について解説したいと思います。(2016/12/27現在) 概要 ここで解説するのは以下の3つです。 Spring Initializrでプロジェクト作成 Groovy&Spock化 Spockでテストケースの作成 1. Spring Initializrでプロジェクト作成 Spring Initializrにアクセスして、必要なモジュールを入れたアプリケーションを作成しましょう。 私は以下のモジュールを入れました。 Web DevTools Lombok 2. Groovy&Spock化

    Spring boot 1.4 testing with Spock - Qiita
  • Spring BootでJUnitテスト - ぺーぺーSEのブログ

    Spring Bootのテストについて書く。 spring-boot-starter-testを使用するとコントローラのJUnitテストも可能になる。 テストやコードインスペクションレポートのMaven設定は以下を参照。 blog.pepese.com テスト対象アプリ 以下の記事で紹介した入門アプリをテスト対象とする。 blog.pepese.com テストの作成 以下を作成する。 com.pepese.sample.service.HelloServiceTest コントローラへDIされるサービスクラスのテスト com.pepese.sample.controller.HelloControllerTest コントローラのテスト サービスのテスト(com.pepese.sample.service.HelloServiceTest) ポイントは以下。 @RunWith(SpringRu

    Spring BootでJUnitテスト - ぺーぺーSEのブログ
  • Spring BootのAutoConfigureの仕組みを理解する - Qiita

    今回は、Spring Bootのメイン機能の一つであるAutoConfigureの仕組みを紹介したいと思います。 Spring Bootを利用すると、簡単なアプリケーションであれば開発者がBean定義を行わなくてもSpringアプリケーションが作成できてしまいます。これはSpring Bootの最大の特徴ですが、Springアプリケーションを構築する上でBean定義そのものが不要になったというわけではありません。 Spring Bootが登場するまで開発者がコツコツBean定義していた部分を、Spring Bootが提供しているAutoConfigureという仕組みが単に肩代わりしてくれているだけなのです!! 前提バージョン Spring Boot 1.4.1.BUILD-SNAPSHOT (投稿時点のスナップショット) Spring Framework 4.3.3.BUILD-SNAPS

    Spring BootのAutoConfigureの仕組みを理解する - Qiita
    HHR
    HHR 2017/03/13
  • 我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!アプリケーション基盤チームの横田(@yokotaso)です! kintoneなどで利用していたJavaフレームワークのSeasarのEOLに伴い、S2Daoからの脱却を試みたのですが、パフォーマンス問題や障害を発生させてしまうなど問題を多々発生させてしまいました。 同じ過ちを繰り返さないという強い決意のもと、今回の失敗をブログで公開いたします。 失敗をあえて公開する点で斬新かつ濃いブログ記事となっております! 失敗体験の公開は恥だが役に立つ! 移行先の選定の失敗 移行先として選定したプロダクトは Hibernate*1です。 Hibernateを選んだ理由としては Spring Framework を選定した Spring Frameworkで Interface + アノテーションでプログラミングするならSpring Data JPA が有力 JPAに準拠したのORMの中でも、H

    我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • Spring-Boot の @RestController の単体テストを記述する - Qiita

    最新(1.4.x)の Spring Boot ではこの方法を使う必要は無くなっています。 @WebMvcTest と @MockBean を使用するのが良いかと思います。 最近、Spring-Boot を触っています。 Spring-Boot 自体の使い方は、Google 先生に聞けばだいたい教えてくれるので、@RestController なコントローラの単体テストについて書いておきます。 使用した Spring-Boot のバージョンは 1.2.1.RELEASE になります。 「単体テスト」といえば対象クラスの動作に対するテストの事かと思いますが、コントローラの場合はフレームワークの設定と動作もある程度加味しないとテストから漏れてしまう箇所が多くなる or 結合テスト(手動/自動問わず)で細かな部分までテストすることになってしまうかと思います。 Spring-Boot には spri

    Spring-Boot の @RestController の単体テストを記述する - Qiita
    HHR
    HHR 2016/11/28
    v1.2.1までの内容 v1.4.xではやらないリスト
  • JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」

    Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Kazuya Sugimoto

    JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
    HHR
    HHR 2016/11/25
  • Spring Framework 5.0 Themes and Trends

    Preparing for the challenges of 2017 and beyond, Spring Framework 5 focuses on several key themes:. In particular reactive web applications, comprehensive support for JDK 9, and a general focus on lambda-oriented programmatic setup This keynote introduces Spring Framework 5.0 towards the end of its milestone phase and presents selected feature highlights.

    Spring Framework 5.0 Themes and Trends
    HHR
    HHR 2016/11/19
    聞いた
  • Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #springday

    Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #springday

    Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #springday
    HHR
    HHR 2016/11/19
    聞いた
  • アメブロの大規模システム刷新と それを支えるSpring

    Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...Toshiaki Maki

    アメブロの大規模システム刷新と それを支えるSpring