JAVA関連のことを調べてみた2020年10月17日

JAVA関連のことを調べてみた2020年10月17日

Eclipse実行時のエラーメッセージを翻訳してみた(Java)

Eclipse実行時のエラーを翻訳してみました

#エラー原因
org.springframework.beans.factory.BeanCreationException
RequestMappingの値が重複したときに起きるエラー

##エラー詳細の翻訳
encountered during context initialization
コンテキストの初期化中に発生しました

cancelling refresh attempt
更新の試行をキャンセルする

Error creating bean with name
名前のあるBeanの作成中にエラーが発生しました

Error creating bean with name
名前のあるBeanの作成中にエラーが発生しました

defined in class path resource
クラスパスリソースで定義

Invocation of init method failed
initメソッドの呼び出しに失敗しました

Ambiguous mapping.
あいまいなマッピング。

Cannot map ‘memberRes

元記事を表示

VSCodeでJavaの開発環境構築をする

学部の授業でJavaを用いたオブジェクト指向入門をしたものの,「だいぶ前のことで忘れてしまった...」ということで,復習がてら再入門していきます.
# 開発環境構築
Javaは2年前くらいに学部の授業で利用していましたが,PCを新しくしてから初めて利用するため,開発環境構築からしなくてはなりません.
統合開発環境としてはEclipseが有名で講義でも利用していました.しかし,利用頻度の小さいJavaのために新しくインストールしたくなかったため,VSCodeを利用して環境構築しました.

環境構築は,[こちら](https://code.visualstudio.com/docs/languages/java)を参考に行いました.以下はリンク先に書かれている,環境構築の概略です.

## JDK(Java SE Development Kit)のインストール
もし,JDKをインストールしていなかったら以下からダウンロードする必要があります.

– [Oracle Java SE](https://www.oracle.com/java/technologies/javase-downlo

元記事を表示

[Java] PDFバージョンを変換する

日常生活や仕事の中では、私たちの使ってるデバイスが、PDFバージョンに
厳しい条件が必要だという場合はよくあるんでしょう?こういう時なら、PDFバージョンを変換して、そのデバイスに合わせる必要があると思います。だから、この記事では、Free Spire.PDF for Javaを使用してPDFバージョンを変換する方法を説明します(PDFバージョン1.0-1.7 変換可能)

**JARパッケージのインポート**
**方法1:** [Free Spire.PDF for Java](https://www.e-iceblue.com/Download/pdf-for-java-free.html)をダウンロードして解凍したら、libフォルダーのSpire.Pdf.jarパッケージを依存関係としてJavaアプリケーションにインポートします。

**方法2:** Mavenリポジトリから直接にJARパッケージをインストールしたら、pom.xmlファイルを次のように構成します。

“`xml


com.e-ice

元記事を表示

ThymeleafでJavaScriptを生成する

## 概要
ひょんなことからThymeleafでJavaScriptを触ることがあったので備忘録です。

## 環境
OpenJDK 11.0.2
SpringBoot 2.3.4
Thymeleaf 3.0.11

## TemplateEngine設定
“`java:AppConfig.java
@Configuration
public class AppConfig {

@Bean
public TemplateEngine scriptTemplateEngine() {
final TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setDialect(new SpringStandardDialect());
templateEngine.setTemplateResolver(scriptTemplateResolver());

return templateEngine;
}

p

元記事を表示

Java APIをラムダ式を使って使用する方法

このサイトが分かりやすかったナリ

リストのsortメソッドの引数に、変数宣言なしでラムダ式を入れていたのがいまいち理解できなかったので調べた。

匿名クラスでメソッドをオーバーライドする代わりに、ラムダ式を使うという当たり前のことだが、したの説明を見てなんとなく納得したナリ

上記サイトから引用

“`java
new Predicate() {
@Override
public boolean test(Integer number) {
return Math.abs(number) >= 5;
}
}
“`
そして、この処理はラムダ式で置き換えることができ、次のコードのように記述することができます。

“`java
number -> Math.abs(number) >= 5
“`

元記事を表示

【Java】コレクションクラスのSet構造(HashSetとTreeSetについて)

#プログラミング勉強日記
2020年10月15日
JavaでTreeSetを使ったが、HashSetとの違いがよくわからなかったので、記録する。

#コレクションクラスとは
 コレクションは要素を集めたオブジェクトのこと。コレクションクラスは大きく分けてList,Map,Setの3つの種類がある。それぞれ性質の異なるクラスに分かれている。

 List構造はArrayListとLinkedListの2種類ある。List構造は要素を順番付けして管理する構造で、要素はインデックス番号順に並んでいるので、番号を指定して要素の取得や挿入、更新、変更などができる。

 Map構造はHashMapとTreeMapの2種類ある。Map構造はキーと値をセットにしたものを1つの要素として管理するデータ構造で、要素がキーとして管理されているのでキーを指定して値の更新や削除をお来ぬことができる。
 今回扱うHashSetとTreeSetは名前からもある通りSet構造であり、下記にまとめる。

#Set構造のコレクションクラスとは
 Set構造はHashSetとTreeSetの2種類あり、要素を順番付けしない

元記事を表示

Java の Stream で List を List に変換するサンプルコード

“`java
// List に入れる要素のクラス
public class MyData {

public final String name;
public final Integer age;

public MyData(String name, Integer age) {
this.name = name;
this.age = age;
}

public String getMyInfo() {
return name + “(” + age + “)”;
}
}
“`

“`java
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

public class Main {

public static void main(String[] args) {

// データを構築
List list = n

元記事を表示

JavaでEmail送信を実装する

#はじめに
SpringBootのプロジェクトでパスワードを再設定したかったのですが、初期化したパスワードをEmailで送信できないか実践してみた備忘録です。

#まずは環境設定
環境は
**IDE:Eclipse**
**バージョン:Java8、springframework.boot version 2.3.0**

また、メール送信のためにはSMTPサーバーが必要ですが、ローカルだと実際に送信できなさそうなので、今回は簡単にGoogleのSMTPを使用します。

build gradleに必要なものをビルド

**build.gradle**

“`
dependencies {
implementation ‘org.springframework.boot:spring-boot-starter-mail’
// https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
// パスワードの文字列をランダム生成するためのcommons-lang3をコンパイル
comp

元記事を表示

java mail pop3 imap 受信

メモ
受信のみ。送信はこちらを参考:https://qiita.com/rubytomato@github/items/b106ff8011bcad60bce2

“`xml:pom.xml



com.sun.mail
javax.mail
1.6.2



org.jsoup

元記事を表示

最初に知っておくべきJavaの基本文法

## はじめに
この記事は以下のような方が読まれることを想定しています。

* 今度実務でJavaを使うことになったが、Javaなんて学生時代にやって以来忘れてしまった。
* C言語など他言語のプログラミング経験はあるが、Javaは初めてだ。
* オブジェクト指向よりも基本的な文法を復習したい。

## mainメソッドを書いて動かしてみよう
サイトや本を読むだけでは理解は進みません。
自分でコードを書いて、プログラムを動かすことがとても大事です。

### 1. mainメソッドのポイント
– mainメソッドは、何か1つのクラス(例:Sample1)に必ず属さないといけない。
– アクセス修飾子publicは、「どこからでも呼び出せる」という意味。
– Javaのメイン関数は public と決まっている。
– staticは、クラスのインスタンス化せずにmainメソッドを呼び出すために付けます。
– 戻り値はvoid、つまりmainメソッドは何も返さないという意味。
– mainの括弧の中に書いた「String[] args」
– String[]はStringの

元記事を表示

ArrayListとLinkedListの違い

先日ArrayListとLinkedListの違いわかるかと聞かれて、答えることができなかったので備忘録として記事します。

## ArrayListとは
ArrayListは、内部的には配列を利用したリスト構造です。標準的な配列と異なる点は、サイズを後からでも変更できる点です。その性質上、インデックス値による値の読み書きは高速ですが、要素の挿入/削除は、配列サイズが大きくなるほど、また、操作位置が先頭に近くなるほど遅くなります。

・メリット
要素がそれぞれ順序番号を持っており、全てメモリ上でインデックス化されているため、特定の要素へすぐにアクセスすることが出来ます。

・デメリット
末尾意外の要素を足したり引いたりすると、それ以降の要素全ての順序番号を繰り上げたり繰り下げたりするための再配置処理が行われ、
その処理により ArrayList 内の要素には全て 0 から 全要素数から 1 引いた数までの全ての順序番号が付けられた要素がキレイに並び続けるのですが、処理が行われる分時間がかかってしまいます。
そしてその処理数は要素数に比例して多くなります。

| メソッド | 概要 |

元記事を表示

Java 初めての例外処理(備忘録)

#Java練習
Javaで開発をすることになり現在Javaを勉強中
[スッキリわかるJava入門 第2版 スッキリわかるシリーズ](https://www.amazon.co.jp/dp/B00MIM1KFC/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)を使ってJavaの勉強。

2章2-3のアプリをアレンジしてみた。

## 2章2-3のアプリをアレンジ
[dokojavaを使用してブラウザでJavaを実行](https://dokojava.jp/execute)

“`java:Main.java
import java.util.Scanner;
import java.util.Random;

public class Main{
public static void main(String[] args) {
System.out.println(“ようこそ占いの館へ\nあなたの名前を入力してください”);
String name = new Scanner(System.in).nextLine();

元記事を表示

PowerMockでEnumをモック化する

## 概要

PowerMockを導入すれば、Enumクラスをモック化してJUnitでテストコードを作成できます。

## 環境

| | バージョン |
| ——— | ———- |
| Java | 8 |
| JUnit | 4.12 |
| Mockito | 2.23 |
| PowerMock | 2.0.2 |

### 使用ライブラリ一覧

– byte-buddy-1.10.14.jar
– cglib-nodep-3.2.9.jar
– hamcrest-core-1.3.jar
– javassist-3.24.0-GA.jar
– junit-4.12.jar
– mockito-core-2.23.0.jar
– objenesis-3.0.1.jar
– powermock-mockito2-2.0.2-full.jar

## サンプルコード

### モック化対象クラス

“`java
public enum SampleEnum {

元記事を表示

Mockito3.4でstaticメソッドをモック化する

## 概要

Mockitoのバージョン3.4からstaticメソッドのモック化に対応しました。
これにより、staticメソッドのモック化のみならPowerMockを導入する必要はなくなりました。

## 環境

– mockito-core-3.4.0.jar
– byte-buddy-1.10.16.jar

上記jarに加え、新たに`mockito-inline`と`byte-buddy-agent`が必要になります。
– mockito-inline-3.4.0.jar
– byte-buddy-agent-1.10.16.jar

それぞれ、[Mockito公式サイト](https://site.mockito.org/)・[ByteBuddy公式サイト](https://bytebuddy.net/#/)からダウンロードできます。

| | バージョン |
| —– | ———- |
| java | 8 |
| JUnit | 5 |

## サンプルコード

### モック化対象のクラス
static

元記事を表示

Spring Cloud Gatewayを徹底解説してみる

# はじめに

> 本記事は https://tech-blog.yoshikiohashi.dev/posts/spring-cloud-gateway-explain のクロスポスト記事になります。

この記事は[Gatsby](https://www.gatsbyjs.org/)というヘッドレスCMS技術で構成されています。

# Spring Cloud Gatewayとは?

一言でいうと**「マイクロサービス向けのOAuth2認証API基盤」**になります。

[公式](https://spring.pleiades.io/projects/spring-cloud-gateway)が親切に日本語で解説してるので見てみましょう。

> このプロジェクトは、Spring MVC の上に API Gateway を構築するためのライブラリを

元記事を表示

Yellowfinの高度な関数を作成する

#目的
Yellowfin(BIツール)にはもともと用意された関数の他に、自分で関数を作って拡張できる「高度な関数」というものがあります。これまで使ったことがなく、プログラムを書かないといけないことから手を付けていなかったのですが、幾何平均を求めたいという要望があり、作ってみた感じを記事にしています。個人的には、正直公式の[Wiki](https://wiki.yellowfin.co.jp/pages/viewpage.action?pageId=2294172)だけではなかなか理解するのが難しいところもあったのでそこをフォローできたらいいなと思います。

#はじめに
基本的な開発の始め方としては、Eclipseを使って開発するのですが、[高度な関数の基礎](https://wiki.yellowfin.co.jp/pages/viewpage.action?pageId=2294171)を見ながら設定すれば自動的に必要なメソッドがAnalyticalFunctionからOverrideして追加されるので、その中のパラメータを設定して、必要な処理をapplyAnalyticFunct

元記事を表示

クラスとインスタンス 初心者向け Java

環境
・MacBookpro
・IntelliJ IDEA CE

Java学習中アウトプットのため投稿します。

クラスとインスタンスについて

クラス・・・設計書、骨組み
インスタンス・・・クラスを元に作られた実体

あなたは上司から大量生産猫型ロボット工場から、人間界世話型ロボットとその妹ロボットを1体ずつ作るよう指示を受けました。

上司から詳細データが渡されました。

“`
人間界世話型ロボットについて
名前:ドラ絵もん
色:青
性別:男

ドラ絵もんの妹ロボットについて
名前:ドラ美ちゃん
色:ピンク
性別:女

以上2体を作成するように。
“`

詳細データを見ると3要素が必要です。
・名前(name)
・色(color)
・性別(sex)

それではまず上司の指示通りのクラスを完成させます。

“`ruby:Robot.java

class Dora {
String name;
String color;
String sex;

Robot(String name, String color , String sex)

元記事を表示

javaでwebApi備忘録

#事前準備
・エクリプスの最新版

①eclipsのインストール方法
https://snome.jp/framework/springboot-install-win/
SpringBootの使用の前までで完了
ワークスペースのなぞ?
Eclipse はワークスペースとして指定されてディレクトリに “.metadata” という隠しディレクトリを作るので、これを検索します。
②Javaコンパイラの設定
特に設定しなくてもOK
③WEBAPIの作成方法
 サンプルを元にマーベンのPOMを変更
 https://codezine.jp/article/detail/11380?p=3
 
 ④Java Spring Boot JSONの送信と受信のサンプル
 https://itsakura.com/java-springboot-json#s7
ハローワールドの出し方
https://qiita.com/kuro227/items/d7da647e9f3be78a5f92
アクセスするURL
http://localhost:8081/hello/
リファレンスAPI スプリング
ht

元記事を表示

Docker, java, vscodeの開発環境を構築

##前回の記事
[初心者がdocker for macをインストールしてphp7.0の動作環境を用意する](https://qiita.com/RubyLrving/items/2f22ecdbabd94dff05c0)

##この記事
前回はphp7.0の動作環境を用意しました。
今回はjavaを用意してみます。
目標はdocker + java + vscode。

##参考記事
[Visual Studio CodeのRemote DevelopmentとDockerで快適な開発環境をゲット
](https://tech-lab.sios.jp/archives/18677)

##Remote Development
Remote Developmentの拡張機能をインストール

##Microsoftが公開してるテストプロジェクトのクローンを用意
“`cmd:git
git clone https://github.com/Microsoft/vscode-remote-try-java
“`

##テストプロジェクトを開く
Visual Studio Codeの左下の緑

元記事を表示

☾ Java / 繰り返し文と繰り返し制御文

 いつまでも苦手なので。

## ✴︎ 繰り返し文とは
 繰り返し処理は**ループ**とも呼び、繰り返し文には、大きく分けて**while文**、**do-while文**、**for文**の3種類があります。

### 1. while文
 **while文**は、指定された条件が成立する(条件式の結果がtrueである)間、繰り返し処理を行います。

“`Sample.java
while (条件式) {
処理文; // 条件式の結果がtrueの場合に処理文が実行される
}
“`

 処理文が1文しかない場合は、{}を省略できます。
 whileの後ろの()には、条件式を記述します。条件式は、boolean値(trueまたはfalse)になる式でなければいけません。条件判定の結果がtrueの場合、{}で囲んだ処理文が実行されます。処理文は複数行記述することができます。処理文の実行後は、また条件式に制御が移ります。

“`Sample.java
public class Sample {
public static void main(String[] ar

元記事を表示

OTHERカテゴリの最新記事