2. IntelliJ gyorsítóbillentyűk
Ezek nem lesznek ZH kérdések
Ctrl+Shift+A - parancsok
kikeresése és végrehajtása
Java Class
új class készítése
Show Usages
Refactor This …
Ctrl + B - deklarációra ugrás
Ctrl + Szóköz illetve Ctrl + Shift +
Szóköz - kód kiegészítés
Alt + F12 - Terminál
2
F2 illetve Shift + F2
következő illetve előző hiba
Ctrl + W - kijelölés tágítása
Ctrl + Shift + W szűkítésa
Alt + 1 … 9 - Tool ablakok
Ctrl + E - előző fájlok
Ctrl + Shift + Backspace
előző szerkesztés helye
Ctrl + K, Ctrl + T - git VCS
kezelése, fontos: Reformat Code
További esetleges
gyorsítóbillentyűk
3. Első lépések
Ezek nem lesznek ZH kérdések
sudo apt-get update
sudo apt-get install maven
mvn -version
Ha nem Ubuntu, akkor az alábbi:
wget http://xenia.sote.hu/ftp/mirrors/www.apache.org/maven/
maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
git clone https://github.com/jseteny/tigra-jee-kurzus
Ezt IntelliJ-vel fogjuk csinálni. Most csak nézzük meg, hogy van-e git?
https://www.jetbrains.com/shop/eform/students
3
10. 10
A JEE kurzus folyamán nem fogunk Scala nyelvet használni,
viszont javaslom a funkcionális programozással való
megismerkedést otthon Scala használatával.
A Scala nyelv Java VM-en és Java lib-ekkel (jar-okkal)
használható.
Gyorsabban készülő nagyobb, mégis kevésbé komplex
rendszerek hatékony nyelve. Többek között az alábbi cégek
használják: Twitter, Linkedin, Coursera, Samsung, Verizon
11. JPA és validációs annotációk
@Id - ID típusú mező. Primary key az
adatbázisban (DB)
@GeneratedValue - DB által generált
@Size - min és max méret
@NotNull - kötelező mező
@NotEmpty - Nem üres String
11
12. 1. Feladat
Car Entity class létrehozása a következő mezőkkel
owner
licensePlateNumber
type
fuel
Amikor a megfelelő mezőket a megfelelő annotációkkal
létrehoztad a get/set metódusokat az alábbi módon készítsd
Ctr + Shift + A, Generate …
Getter and Setter, Ctrl + A, Enter
12
13. 2. Feladat
@RunWith(Arquillian.class)
public class CarRegistrationTest
Az alábbi tartalmú teszt metódus
Member objektum létrehozása
Car objektum létrehozása, majd az alábbiak elvégzése vele
Persist-álása
Visszaolvasása
assertEquals hívása a létrehozott és a visszaolvasott autók
rendszámára
13
14. 3. Teszt futtatása
Alt + F12 (Terminal)
~/wildfly-10.0.0.Final/bin/standalone.sh
pom.xml -ben arq-wildfly-remote keresése
<artifactId> tartalmának kijelölése
és Ctrl + C
Ctrl + Shift + A, Edit Configurations …
+ majd Arquillian JUnit kiválasztása
Configure gomb a jobb oldalon
+ majd Manual container configuration
+ a jobb szélen majd Maven Dependency
Kb 30%-al szélesebbre húzni a dialog
ablakot
14
Ctrl + V, az elvárt eredmény: wildfly-
arquillian-container-remote
Bepipálni a Download to-t
… 8.2.1.Final-t választani a végéről és OK
15. javax.persistence.TransactionRequiredException: WFLYJPA0060: Transaction is required to perform
this operation (either use a transaction or extended persistence context)
@Inject
private EntityManager em;
...
em.persist(car); <<<
Probléma:
15
@Inject
private CarRegistration carRegistration;
…
carRegistration.register(car);
Megoldás:
@Stateless
public class CarRegistration {
@Inject
private Logger log;
@Inject
private EntityManager em;
@Inject
private Event<Car> memberEventSrc;
public void register(Car car) throws Exception {
log.info("Registering " + car.getLicensePlateNumber());
em.persist(car);
memberEventSrc.fire(car);
}
}