tanakahdaのプログラマ手帳

プログラミングとかソフトウェア開発とかの備忘録

alternativesコマンドでJavaのバージョンを切り替える@Java

CentOSにOpenJDK1.8と18の両方をインストールしている場合。

[tanakahda@server ~]$ java -version
openjdk version "1.8.0_332"
OpenJDK Runtime Environment (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode)
[tanakahda@server ~]$ sudo alternatives --config java
[sudo] tanakahda のパスワード:

2 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/bin/java)
   2           java-latest-openjdk.x86_64 (/usr/lib/jvm/java-18-openjdk-18.0.1.0.10-2.rolling.el7.x86_64/bin/java)

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
[tanakahda@server ~]$ java -version
openjdk version "18.0.1" 2022-04-19
OpenJDK Runtime Environment 21.9 (build 18.0.1+10)
OpenJDK 64-Bit Server VM 21.9 (build 18.0.1+10, mixed mode, sharing)

qiita.com

sudo権限付きのユーザーを追加する

[root@hostname ~]# useradd tanakahda
[root@hostname ~]# gpasswd -a tanakahda wheel
ユーザ tanakahda をグループ wheel に追加
[root@hostname ~]# passwd tanakahda
ユーザー tanakahda のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました

www.suzu6.net

機能単位でControllerクラスを複数作成してリクエストマッピングする@Spring Boot

IndexController.java

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/")
public class IndexController {
    
    public String index() {
        return "index";
    }
    
}

DemoController.java

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/demo")
public class DemoController {
    
    @RequestMapping("/index")
    public String index() {
        return "/demo/index";
    }
    
}

Spring Data RESTとSwaggerの設定@Spring Framework

pom.xml

     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
            <version>1.5.9</version>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-data-rest</artifactId>
            <version>1.5.9</version>
        </dependency>

application.properties

Spring Securityを導入している場合、URLを除外リストに入れる必要があるので下記のとおり設定する

springdoc.api-docs.path=/api-docs
springdoc.swagger-ui.path=/swagger/swagger-ui.html

SecurityConfig.java

    @Override
    public void configure(WebSecurity web) throws Exception {
        // 「/js/**」を追加
        web.ignoring().antMatchers(
                "/js/**", "/css/**", "/img/**", "/webjars/**", "/swagger/**", "/api-docs/**");
    }