Spring 1週目
74968 ワード
💡 学習内容
1.Webの基本概念
2.Java基本構文
3.クラス、メソッド、メンバー
4.スプリングの働き方
5.コントローラ
6.グレー(Gradle)
クライアントとサーバを区別します.クライアントに必要なデータがあるたびに、サーバに要求を発行し、応答データを受信してユーザーに表示します.
クライアント-ユーザーが表示する画面
≪サーバー|Server|ldap≫:データが必要な場所で、データが必要なときにリクエストに応答します.
プログラミング言語、JavaはほとんどWeb開発サーバにのみ使用されます.
Webサーバでの使用量が非常に多い
Java言語でサーバを作成するのに必要なもの、すでに必要なものを作成して、私たちは必要なものを満たすだけです!
MS Wordがドキュメントを処理する際に使用する特殊なメモ帳のように、Javaを使用してコードを記述する際に使用する特殊なメモ帳です. プロジェクトの作成
スプリングが始まる前にいつもダウンロードしてから始まるもの!
一つの承諾は、規定の要求に従って要求を提出すれば、規定の結果に戻る.
データをリクエストして受信し、表示します!
スケルトン対応はHTML
CSSスケルトンのシェーディング
動的作成ページと動的作成ページのJavaScript
=>クライアントが要求を発行すると、3つの要求が同時に受信されます.
データのみを受信する場合が多い.
JSON形式でデータを受信します.
Springは「サーバ」を担当します.
必要に応じて直感的なコンテンツまたはデータを提供
スプリングはJava言語に基づいて作成されました!
任意の場所で使用できるコマンドのセットで、重複操作を減らすことができます.
複文
情報を縛れ!
-コードを現実に似た概念として表す.
Prac.java
クラス内のすべての情報を簡単に変更することはできません.
公開できるもの.
勝手に変えてはいけないもの.
Course.java
データに応答するにはRestControlを使用する必要があります.
サーバーの応答がJSON形式であることを示します.
HTML、CSSなどとやり取りする場合はRestを貼り付けません.
話しかけられたら、答えます.
クライアント要求を受信するコードをコントローラと呼ぶ.
=>JSONのみを返すことをRESTControllerといいます.
JSON形式で応答する自動応答器!=>REST Controller
Javascript - NPM Python - pip Java - mavenCentral, jcenter •ダウンロードとアプリケーションのシンプル化
https://mvnrepository.com/
build.グラデーションで作成ライブラリのインポート時 導入時
1.Webの基本概念
2.Java基本構文
3.クラス、メソッド、メンバー
4.スプリングの働き方
5.コントローラ
6.グレー(Gradle)
開始前
Webサービス?
クライアントとサーバを区別します.クライアントに必要なデータがあるたびに、サーバに要求を発行し、応答データを受信してユーザーに表示します.
クライアント-ユーザーが表示する画面
≪サーバー|Server|ldap≫:データが必要な場所で、データが必要なときにリクエストに応答します.
Javaとは?
プログラミング言語、JavaはほとんどWeb開発サーバにのみ使用されます.
Webサーバでの使用量が非常に多い
スプリングとは?
Java言語でサーバを作成するのに必要なもの、すでに必要なものを作成して、私たちは必要なものを満たすだけです!
IntelliJとは?
スプリングが始まる前にいつもダウンロードしてから始まるもの!
Webの基本概念
API
一つの承諾は、規定の要求に従って要求を提出すれば、規定の結果に戻る.
データをリクエストして受信し、表示します!
Web上の動作概念
HTML受信時:
スケルトン対応はHTML
CSSスケルトンのシェーディング
動的作成ページと動的作成ページのJavaScript
=>クライアントが要求を発行すると、3つの要求が同時に受信されます.
データのみ受信
データのみを受信する場合が多い.
JSON形式でデータを受信します.
Springが担当する部分は?
Springは「サーバ」を担当します.
必要に応じて直感的なコンテンツまたはデータを提供
スプリングはJava言語に基づいて作成されました!
Javaベース構文
System.out.println
package com.sparta.week01.prac;
public class Prac {
public static void main(String[] args) {
System.out.println(); // 'sout' + Enter ot Tab
System.out.println("hello, sparta!");
}
}
へんすう
package com.sparta.week01.prac;
import org.aspectj.weaver.ast.Test;
import java.awt.*;
import java.util.ArrayList;
import java.util.List;
public class Prac {
public static void main(String[] args) {
// 1. 화면에 나타내기
System.out.println(); // 'sout' + Enter ot Tab
System.out.println("hello, sparta!");
// 2. 변수
String myName = ""; // 변수 표기법 CamelCase
// 숫자
int a = 7; // 정수
int b = 3; // 싷수
System.out.println(a + b);
float c = 3.7f;
System.out.println(c);
int n = 1000000000;
Long d = 10000000000L;
System.out.println(d);
// 문자열
String name = "김소영"; // 변수 표기법 CamelCase
String name2 = "김도영";
System.out.println(name + name2);
// boolean
int myAge = 20;
boolean isAdult = myAge > 20;
boolean isKid = myAge > 20;
System.out.println(isAdult);
System.out.println(isKid);
System.out.println(myAge == 20); // true
System.out.println(myAge != 20); // false
boolean isTest = true;
// 배열 List
// 1) 순서가 중요
// 2) 같은 자료형만 넣을 수 있음
// 3) 넣을 때는 add, 조회할 때는 get, 제거할 때는 remove 사용
List<String> myList = new ArrayList<>(); // List 선언
String course1 = "Spring";
String course2 = "React";
myList.add(course1);
myList.add(course2);
System.out.println(myList);
System.out.println(myList.get(1));
myList.remove(1);
System.out.println(myList);
// 3. import
// List 처럼 미리 작성된 코드를 불러오는 것
// 4. 주석 Ctrl + /
// 5. 정렬 Ctrl + Alt + L
// Example
String co1 = "Web";
String co2 = "App";
List<String> coList = new ArrayList<>();
coList.add(co1);
coList.add(co2);
System.out.println(coList);
}
}
方法
任意の場所で使用できるコマンドのセットで、重複操作を減らすことができます.
ackage com.sparta.week01.prac;
public class Prac {
public static void printInfo() {
String title = "Hello";
String name = "Soyeong";
int weeks = 1;
float ratings = 5.0f;
System.out.println("title: " + title);
System.out.println("name: " + tutor);
System.out.println("weeks: " + weeks);
System.out.println("ratings: " + ratings);
}
public static void main(String[] args) {
printInfo();
}
}
メソッドの構造public (return type) methodName(parameters) {
// ...
return (return value)
}
package com.sparta.week01.prac;
public class Prac {
// 파라미터 X, 반환값 X
public static void simplePrint() {
System.out.println("파라미터도 없고, 반환값도 없어요!");
}
// 파라미터 O, 반환값 X
public static void simpleSum(int num1, int num2) {
System.out.println("num1 :" + num1 + ", num2: " + num2);
}
// 파라미터 X, 반환값 O
public static int simpleReturn() {
return 3;
}
// 파라미터 O, 반환값 O
public static int sum(int num1, int num2) {
return num1 + num2;
}
public static int sub(int num1, int num2) {
return num1 - num2;
}
public static void main(String[] args) {
simplePrint();
simpleSum(2,3);
System.out.println(simpleReturn());
System.out.println(sum(2, 3));
System.out.println(sub(5, 2));
}
}
メソッド名はルール(英語、小文字で始まる、空白なし、大文字を区別する)と同じです.条件文
複文
package com.sparta.week01.prac;
import java.util.ArrayList;
import java.util.List;
public class Prac {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("감");
fruits.add("배");
fruits.add("감");
fruits.add("딸기");
fruits.add("수박");
fruits.add("메론");
fruits.add("수박");
fruits.add("딸기");
fruits.add("메론");
fruits.add("수박");
fruits.add("메론");
fruits.add("수박");
fruits.add("감");
System.out.println(fruits);
for (int i=0; i<fruits.size(); i++) {
String fruit = fruits.get(i);
System.out.println(fruit);
}
}
}
条件文package com.sparta.week01.prac;
public class Prac {
public static void main(String[] args) {
int age = 20;
if (age > 19) {
System.out.println("Adult.");
} else {
System.out.println("Nope.");
}
}
}
条件文&繰り返し文
package com.sparta.week01.prac;
import java.util.ArrayList;
import java.util.List;
public class Prac {
public static int countFruit(String fruit, List<String> fruits) {
int count = 0;
for (int i = 0; i < fruits.size(); i++) {
if (fruits.get(i).equals(fruit)) {
count += 1;
}
}
return count;
}
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("감");
fruits.add("배");
fruits.add("감");
fruits.add("딸기");
fruits.add("수박");
fruits.add("메론");
fruits.add("수박");
fruits.add("딸기");
fruits.add("메론");
fruits.add("수박");
fruits.add("메론");
fruits.add("수박");
fruits.add("감");
System.out.println(countFruit("수박", fruits));
}
}
Javaクラス
等級は何ですか。
情報を縛れ!
オブジェクト向けプログラミング
-コードを現実に似た概念として表す.
カテゴリ
Prac.java
package com.sparta.week01.prac;
import java.util.ArrayList;
import java.util.List;
public class Prac {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
Course course = new Course();
course.title = "웹개발의 봄, Spring";
System.out.println(course.title);
System.out.println(course.tutor); // null
Course course2 = new Course("React", "James", 20);
System.out.println(course2.title);
System.out.println(course2.tutor);
System.out.println(course2.days);
}
}
Course.javapackage com.sparta.week01.prac;
public class Course {
// title, tutor, days 가 Course 라는 맥락 아래에서 의도가 분명히 드러나죠!
public String title;
public String tutor;
public int days;
// 기본생성자 - Java에서 기본적으로 생성해줌. (생성자를 선언 안한 경우)
public Course() {
}
// 생성자
public Course(String title, String tutor, int days) {
this.title = title;
this.tutor = tutor;
this.days = days;
}
}
Getter, Setter
private, public
クラス内のすべての情報を簡単に変更することはできません.
公開できるもの.
勝手に変えてはいけないもの.
package com.sparta.week01.prac;
public class Course {
private String title;
private String tutor;
private int days;
public Course(String title, String tutor, int days) {
this.title = title;
this.tutor = tutor;
this.days = days;
}
}
privateとして宣言され、値=>setterのみが指定された方法で置換できます.Getter / Setter
Course.java
package com.sparta.week01.prac;
public class Course {
private String title;
private String tutor;
private int days;
public Course() {
}
public Course(String title, String tutor, int days) {
this.title = title;
this.tutor = tutor;
this.days = days;
}
// Setter
public void setTitle(String title) {
this.title = title;
}
public void setTutor(String tutor) {
this.tutor = tutor;
}
public void setDays(int days) {
this.days = days;
}
// Getter
public String getTitle() {
return this.title;
}
public String getTutor() {
return this.tutor;
}
public int getDays() {
return this.days;
}
}
Prac.javapackage com.sparta.week01.prac;
import java.util.ArrayList;
import java.util.List;
public class Prac {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
Course course = new Course();
course.setTitle("Spring");
course.setTutor("Jane");
course.setDays(10);
System.out.println(course.getTitle());
System.out.println(course.getTutor());
System.out.println(course.getDays());
Course course2 = new Course("React", "James", 20);
System.out.println(course2.getTitle());
System.out.println(course2.getTutor());
System.out.println(course2.getDays());
}
}
Tutor.javapackage com.sparta.week01.prac;
public class Tutor {
private String name;
private String bio;
// 기본 생성자
public Tutor() {
}
// 생성자
public Tutor(String name, String bio) {
this.name = name;
this.bio = bio;
}
public void setName(String name) {
this.name = name;
}
public void setBio(String bio) {
this.bio = bio;
}
public String getName() {
return this.name;
}
public String getBio() {
return this.bio;
}
}
ブラウザで表示
データに応答するにはRestControlを使用する必要があります.
Rest
サーバーの応答がJSON形式であることを示します.
HTML、CSSなどとやり取りする場合はRestを貼り付けません.
Controller
話しかけられたら、答えます.
クライアント要求を受信するコードをコントローラと呼ぶ.
=>JSONのみを返すことをRESTControllerといいます.
JSON形式で応答する自動応答器!=>REST Controller
Rest Controlの作成
package com.sparta.week01.controller
位置package com.sparta.week01.controller;
import com.sparta.week01.prac.Course;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class CourseController {
@GetMapping("/courses")
public Course getCourses() {
Course course = new Course();
course.setTitle("Spring");
course.setDays(35);
course.setTutor("YoungKim");
return course;
}
}
GET方式でブラウザから情報を要求するGradle
https://mvnrepository.com/
build.グラデーションで作成
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'mysql:mysql-connector-java'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
// https://mvnrepository.com/artifact/org.json/json
implementation group: 'org.json', name: 'json', version: '20160810'
}
Reference
この問題について(Spring 1週目), 我々は、より多くの情報をここで見つけました https://velog.io/@soso0/spring-01テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol