Comme le titre l'indique, j'ai eu l'occasion de découvrir Java au travail pour la première fois en 10 ans, je vais donc l'étudier moi-même maintenant. C'est une étude d'un système existant en fonctionnement, donc ce n'est pas la dernière pile technologique, mais une combinaison légèrement plus ancienne.
Les applications Web ne sont pas déployées, exécutez simplement localement.
Java a été installé auparavant, je vais donc l'utiliser tel quel. Java 8 au lieu de 14 ou 11 en raison de circonstances adultes.
$ java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Comme c'est mac pour le moment, mettez Maven avec de la bière.
$ brew install maven
(Abréviation)
$ mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
(Abréviation)
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
Également installé la communauté IntelliJ IDEA. Depuis que je l'ai entré avec GUI, la méthode est omise.
Modifiez les paramètres selon vos préférences. Cela a été utile. https://www.karakaram.com/intellij-idea-always-do-things/
J'utilise le style de base tel quel, mais ce n'est pas bon pour la santé mentale, alors j'ai juste joué un peu avec Keymap (surtout C-h, C-d).
Pour le moment, créez un projet vide sur GitHub et clonez-le. Ceci est le répertoire de travail.
$ git clone https://github.com/sekikatsu36/spring-sample.git
$ cd spring-sample
$ git config --local user.name "sekikatsu36"
$ git config --local user.email "(Abréviation)"
Créez un nouveau projet Maven avec IntelliJ. Laissez les paramètres par défaut sans modifier aucun paramètre.
Ceci termine l'état initial.
$ ls -a
. .DS_Store .gitignore pom.xml src
.. .git .idea spring-sample.iml
Il existe de nombreux articles de démarrage de printemps sur le Web et peu de frameworks de printemps. Cependant, j'ai besoin d'un framework Spring maintenant, j'ai donc modifié pom.xml pour le rendre utilisable.
Ceci est le formulaire rempli.
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example.api</groupId>
<artifactId>spring-sample</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- pom.Autoriser la version à être gérée comme une variable en xml-->
<spring.version>5.2.5.RELEASE</spring.version>
<jetty.version>9.4.11.v20180605</jetty.version>
</properties>
<dependencies>
<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- jetty -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.14.v20181114</version>
</plugin>
</plugins>
</build>
</project>
Au début, je n'écrivais que les «propriétés» et les «dépendances». D'autres points seront décrits plus loin.
Dans mon environnement, j'ai eu une erreur indiquant que ʻorg.springframework.spring-webmvc: 5.2.5.RELEASE` n'a pas pu être trouvé. Il existe dans Repository.
Faites ce qui suit
mvn clean install
résultat
Téléchargé depuis le centre: https: // repo.maven.apache.org / maven2 / org / springframework / spring-webmvc / 5.2.5.RELEASE / spring-webmvc-5.2.5.RELEASE.jar
A été fait
-- / Users / (nom d'utilisateur) /. M2 / repository / org / springframework / spring-webmvc / 5.2.5.RELEASE
a été ajouté
--IntelliJ montrait toujours l'erreur, mais lorsque j'ai rechargé Maven, l'erreur a disparuFondamentalement, vous pouvez le faire selon https://qiita.com/kasa_le/items/6aaf17823db67c951fb0.
Cependant, puisque cet article est ʻIntelliJ IDEA Ultimate, dans ʻIDEA Community
, [Create View](https://qiita.com/kasa_le/items/6aaf17823db67c951fb0#view%E3%81%AE%E4%BD% Après 9C% E6% 88% 90), cela ne fonctionne pas tel quel.
Pour le moment, le processus de création du contrôleur et du dossier de vue se termine de cette manière. Ce qui suit est fait.
/src/main
/java/org/example/controllers
IndexController.java
/webapp/WEB-INF
/views
web.xml
dispatcher-servlet.xml
Dans le cas de l'édition Community, il semble que JSP / JSPX
n'apparaisse pas lors de la création d'un nouveau fichier car il n'y a pas de support Spring. https://www.jetbrains.com/ja-jp/idea/features/editions_comparison_matrix.html
Donc, normalement sélectionnez Fichier
et faites tout vous-même.
index.jsp
<%@ page import="org.example.controllers.IndexController" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Spring Test Page</title>
</head>
<body>
<p>${someAttribute}</p>
</body>
</html>
Pour la commodité des adultes, utilisez Jetty au lieu de Tomcat. Ultimate (version payante) d'IntelliJ IDEA semble avoir Tomcat intégré par défaut (?), Mais comme il s'agit d'une communauté, il ne peut pas être utilisé de toute façon. Jetty n'a pas besoin d'être installé à l'avance, c'est donc facile.
En référence à http://zetcode.com/spring/jetty/, j'ai ajouté ce qui suit à pom.xml.
<packaging>war</packaging>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.14.v20181114</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
Dans cet état
mvn jetty:run
Lorsque vous accédez à http: //0.0.0.0: 8080
en exécutant, Hello World s'affiche en toute sécurité.
Si vous ne spécifiez pas les versions source et cible avec maven-compiler-plugin
, cela semble être 5 et une erreur se produit. http://orionb312.hatenablog.com/entry/2018/03/06/233734
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project spring-sample: Compilation failure: Compilation failure:
[ERROR]L'option source 5 n'est actuellement pas prise en charge. Veuillez utiliser 7 ou une version ultérieure.
[ERROR]L'option cible 5 n'est actuellement pas prise en charge. Veuillez utiliser 7 ou une version ultérieure.
Le produit fini est ci-dessous. https://github.com/sekikatsu36/spring-sample
Pour le moment, j'ai pu confirmer que Spring fonctionne. Je veux faire un peu plus.
--Je souhaite utiliser une API qui n'est pas WebPage (utilisez Jersey?)
Recommended Posts