Spring Boot

[Spring Boot] #1 / 스프링 부트 1일차

haeun 하은 2022. 10. 29. 14:38
728x90

객체지향 프로그래밍 간단 요약

 

🟢 생성자:  객체 생성시 사용하는 메서드 ex)Sample sam = new Sample();

🟢 캡슐화

🟢 추상화

🟢 접근제어자

private/같은 클래스 내부에서만,

public/전역,

protect/같은 패키지 내에서(상속관계) 다른 패키지의 자손클래스에서 접근가능,

default/같은 패키지 내에서

🟢 상속

오버로딩: 같은 이름의 메서드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 개념(동명이인)

오버라이딩: 재정의

🟢 인터페이스 : 자바의 다형성을 극대화 하여 코드 수정을 줄이고 유지보수성을 높이기위해 사용하는 클래스

🟢 내부클래스

🟢 this: 자기자신을 참조하는데 사용하는 키워드(변수)

 

//스레드
//프로세스: 실행중인 프로그램.
//        프로그램이 운영체제에(OS) 의해 메모리 공간을 할당받아 실행중인 것
//프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원과 스레드로 구성.

//멀티프로세스 vs 멀티스레드
//멀티프로세스: 하나의 응용프로그램을 여러개의 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하도록 하는 것
//장점- 하나의 프로세스가 죽어도 다른 프로세스에는 영향 없음
//단점- 오버헤드가 발생 할 확률이 있음. 성능저하를 유발 할 수 있음
//멀티스레드: 하나의 응용프로그램을 여러개의 스레도로 구성하여 각 스레드가 하나의 작업을 처리하도록 하는 것
//장점- 자원을 효율적으로 관리 할 수 있음.
//단점- 하나의 스레드가 문제가 발생하면 전체적으로 영향을 끼칠 수 있음. 

컴퓨터 기본상식- 영상 제공? 유튭?

자바 최상위 객체- OBJECT

public List<T> 

컬렉션-<>

List ,map,

arrayList,LinkedList

제네릭-T

 

//웹 프레임워크 = 구급상자
//웹프로그램을 만들기 위한 일종의 토탈패키지
//Spring,Rails/Express.React.vue.Angular.Next.js.nestjss
//Django,Flask,FastAPI

//프레임워크를 통해 업을 수 있는 것들(BOOT 기준)
//1.우수한 보안
//SQL injection: 악의적 SQL을 JS들을 통해 주입하여 공격하는 방법
//XSS:자바스크립트를 악의적으로 주입하여 공격하는 방법
//CSRF: 위조된 요청을 보내는 공격방법
//ClickJacking : 사용자의 의도하지 않은 클릭을 유도하는 공격방법

더보기

 

MVC 패턴

mtv? 파이썬
mvm? 뷰제이
model,view,controller
데이터관리,ui,제어관리

비동기(ajax)

게시판 만들기

 

새로운 프로젝트 만들기 

New Spring Start Project 👉 java 버전 👉그룹,패키지 설정

Spring Boot Version 맞추기 : web -> spring web

🔽 Console-----------------------------------------

> Task :nothing UP-TO-DATE

BUILD SUCCESSFUL in 1m 54s

----------------------------------------------------------

컨트롤러가 나뉜다?

controller(비즈니스 모델, view 단에 보이게 하는 것)

service(model 단으로 던질 데이터 가공)

package com.board.pra;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class FirstController {
	
	@RequestMapping("/hello")//url
	@ResponseBody//응답 페이지
	public String sayhi() {
		return"집에 가고 싶다";
	}
	
	
}

 

 

 

728x90
반응형