본문 바로가기
728x90

Java Spring17

Spring Boot 완전 기초 인텔리 J 는 설치하고!!!자바 환경 세팅이후,,, 스프링 부트 시작!(2012년에 등장!) 스프링 부트는 웹 어플리케이션을 보다 가볍고(spring 보다), 쉽고 빠르게 만들 수 있도록 도와주는자바 웹 프레임워크이다.  웹 프레임 워크: 쿠키처리, 로그인 아웃처리, DB 핸들링 등을 지원  컨트롤러 예시import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class OrderController { @GetMapping("/g.. 2024. 9. 15.
Spring Boot 기본 Spring Boot 기초에서 주로 사용하는 dependency?- Lombok- Spring Web- Spring Data JPA(기초일때만 사용)- H2 Database(다른 DB 이용 시 사용 가능)- MySQL Driver  POJO: Ioc/DI, AOP, PSA 통해 달성, OOP에 충실하면서, 특정 환경과 기술에 종속되지 않고 재사용가능하도록 설계된 Object예, 툼캣으로 세팅해서 사용중이다가 네티로 변환되더라도, 어플리케이션 레벨에서의 수정은 없어야한다.-> 테스트 간편화, 확장가능한 유연한 코드사용, 원활한 디버깅 가능(Spring 은 POJO프로그래밍을 지향하는 프레임 워크!)  느슨한 결합(DIP의 원칙적용): 직접적으로 구현체를 의존성 주입해서 사용하는 것이 아닌 추상체를 두어 사.. 2024. 9. 15.
Java 완전 기초 SOLID1. SRP: 단일 책임원칙(하나의 클래스는 하나의 책임만 가진다.)2. OCP: 개방, 폐쇄 원칙(확장에는 open, 수정에는 close)3. LSP: 리스코프 치환 원칙(객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 instance 로 바꿀수 있어야한다.)4. ISP: 인터페이스 분리 원칙(특정 client 를 위한 인터페이스 여러개가 범용 인터페이스 하나보다 낫다)            필요한 상황마다 나누자!5. DIP: 의존관계 역전 원칙(추상화에 의존!, 구현체에 의존하면 안됨)  Java의 객체지향1. 캡슐화2. 상속3. 다형성4. 추상화 Java 자료형1. Primitive Type    : boolean, byte, char, short, int, long, float,.. 2024. 9. 13.
POJO 란 무엇인가? POJO 프로그램이란...특별한 제약이나 복잡한 상속 구조 없이 순수한 Java객체를 의미!JavaBeans 규약을 따르지 않더라도 복잡한 framework나 특정 기술 스택에 의존하지 않고단순하게 설계된 Class를 말한다 그럼 장점으로는? 구조가 단순해진다: 특별한 상속이나 구현을 요구하지 않기때문에 코드가 간단하고 이해하기 쉬워진다(그렇다고 상속이나 구현을 완전히 배제하는 것은 아니다!) 유연해진다: 타 프레임워크나 라이브러리에 종속되지 않기 때문에 변경되더라도 POJO에는 직접적인 영향이 없다. 테스트 편리: 독립적이고 자유롭게 동작하기때문에, Unit 테스트 실행이 가능하다 2024. 9. 13.
Java 에 대해서 Java 가 발생한 배경부터 살펴보겠다. 우선 자바는 썬 마이크로 시스템즈로 부터 95년도(아주 오래전)에 객체지향프로그램밍언어(OOP)의 시대를 알린 언어이다.오픈 소스기반으로 운영되면서, 왜 개발언어와 툴은 오픈소스로 운영되야하는지에 대한 모범을 보여준 사례중 하나이다.당시, Java 의 Main 경쟁 언어로써 C#(마이크로 소프트) 언어가 있었는데, C#은 C 를 기반으로 한 개발자들이 많고 Visual Studio(Visual Studio Code 아님) 라는 IDE의 강점과 오류발생시 마이크로 소프트 개발자들이 직접 error fix를 한다는 강점이 있었다. 하지만,,, 결과는 자바의 승리(?)아무리 마이크로소프트개발자들이 개발하고 테스트 및 이슈 수정을 한다하더라도, 전세계의 개발자를 당해낼 .. 2024. 9. 13.
728x90