Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

기분좋음

국비 64 일차 본문

IT 포트폴리오/국비지원교육 Diary

국비 64 일차

기분좋음:) 2022. 3. 23. 14:01
반응형

스프링(SPRING)

자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크

간단한 설정만으로 관계형 DB와 자바오브젝트를 매핑해주는 ORM 기술을 제공

 

1. IoC/DI(Inversion of Control / Dependency Injection) -부품 결합

오브젝트의 생명주기와 의존관계에 대한 프로그래밍 모델

스프링은 유연하고 확장성이 뛰어난 코드를 만들수 있게 도와주는 객체지향 설계 원칙과 디자인 패턴의 원리를 담고있 는 프레임워크

 

2.서비스 추상화

환경이나 서버, 특정 기술에 종속되지 않고 이식성이 뛰어나며 유연한 애플리케 이션을 만들수있는데, 이를 가능하게 해주는것이 서비스 추상화

 

3.AOP(Aspect Oriented Programming)

애플리케이션 코드에 산재해서 나타나는 부가적인 기능을 독립적으로 모듈화하는 프로그래밍 모델

(다양한 엔터프라이즈 서비스를 적용하고도 깔끔한 코드 유지 가능 하게 해줌)

 

 

 

DI(Dependency Injection) 

class A
{
    private B b;
    
    public A(){
       // b = new B(); 
    }
    public void setB(B b){
        this.b=b;   //결합력을 낮추고 유연하게한다.
    }
 }

A에 B를 넣어주는 것이 의존성을 주입(생성자 주입, getSetter 주입, 어노테이션 주입)시켜주는 것

 

ioc 컨테이너

부품 조립위해 스프링에게 어떤식으로 조립할지 주문서(XML파일 / Annotation)와 함게 부품 제공

→ 스프링은 주문서에 맞게 부품을 조립

   ioc컨테이너 (부품을 작은것 부터 조립)

 

 

프로토콜 요청

통신 규약 중 인터넷 통신을 규정한 프로토콜 =http

요청방식

 DB와 관련된 방식

• GET - select

  url 요청방식은 GET요청

• POST - insert

• PUT - update

• DELETE - delete

 

 

  HTTP 각각의 요청이 올 때만 자바 메소드가 실행

@GetMapping   

@PostMapping    

@PutMapping 

@DeleteMapping 

 

 

호출방법  예시

 

결과보기(브라우저에 주소입력)

@Controller

- model객체를 만들어 데이터를 담고 주로 View를 찾음

@RestController  (@Controller + @ResponseBody)

- 문자열과  JSON ,Map등 전달 가능 (객체 데이터 반환)

- 특정 어노테이션이 붙어있는 클래스 파일들만 new해서 (IOC) 스프링 컨테이너에 관리)

 

 

Maven

필요한 라이브러리를 특정 문서(settings.xml , pom.xml) 에 정의

→ 사용할 라이브러리 + 작동하는데 필요한 다른 라이브러리까지 관리하여, 네트워크를 통해 자동으로 다운받아준다

 

settings.xml

- maven 빌드시 의존관계의 라이브러리, 플러그인을 로컬저장소로 다운로드하는 위치 (경로)설정

POM(Project Object Model)

- pom.xml파일 프로젝트마다 1개 

- 프로젝트의 모든 설정, 의존성을 알수있다.

 C:\user\user\.m2\repository 폴더에 maven이 관리하는 파일들이 로드된다.

 

 

Lombok 

자바 라이브러리로 빌드 툴에 추가해서 (getter, setter, equal같은 method)를 자동 작성해준다.

@Data 

-getter, setter 둘다 생성해준다

@NoArgsConstructor

- 기본 생성자 생성

@AllArgsConstructor 

- 모든 필드값 포함한 생성자 생성

 

스프링 설정파일

예) Xml, Json, Yaml

 

yml이 가독성이 가장좋고 권장 방법 (.yml = .yaml)

yml 예시

들여쓰기 규칙 (스페이스 2칸)

반응형

'IT 포트폴리오 > 국비지원교육 Diary' 카테고리의 다른 글

국비 66 일차  (0) 2022.03.28
국비 65 일차  (0) 2022.03.24
국비 63 일차  (0) 2022.03.23
국비 62 일차  (0) 2022.03.21
국비 61 일차  (0) 2022.03.18