목록웹프레임워크 (11)
개발자 끄적끄적

- Java 프로그램에서 데이터를 영구적으로 저장할 때 사용하는 인터페이스 - Java 진영에서 ORM(Object-Relaional Mapping)기술 표준으로 사용하는 인터페이스 모음 - 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 - 인터페이스이기 때문에 Hibernate, Open JPA등이 JPA를 구현 - 외부에서 Controller를 호출하면 Repository가 Entity를 가지고 처리를 한 후에 반환하는 구조라고 보면 된다 - Controller > Java Logic 수행 - Entity > 테이블 정보 설정 - Repository > 쿼리 정보 설정 - @Builder : SQL 사용 시 파라미터에 값을 쉽게 넣어주기 위한 어노테이션..
- Spring Boot Maven Plugin은 다음과 같은 Spring Boot 지원을 제공한다 1. 프로젝트를 실행가능한 jar 파일이나 war 파일로 패키지(package) 2. Spring Boot 애플리케이션 실행 3. Build 정보 생성 4. 통합 테스트를 하기 전에 Spring Boot 애플리케이션을 시작 - Spring Boot Plugin은 다음과 같은 goal들을 가지고 있다 - spring-boot:build-image : OCI imae로 패키지 - spring-boot:build-info : build-info.properties 파일 생성 - spring-boot:repackage : Repackage, Jar 나 War 파일로 재패키지 - sp..

- 스프링으로 애플레케이션을 만들 때에 필요한 '설정'을 '간편하게' 처리해주는 별도의 프레임워크 - '자체적인 웹 서버'를 내장하고 있어(=No need to install a separately) 빠르고 간편하게 배포 진행 가능 - 독립적으로 실행 가능한 Jar 파일로 프로젝트를 빌드할 수 있어(Perfom auto-configuration based on props files and JAR classpath), 클라우드 서비스 및 도커와 같은 가상화 환경에 빠르게 배포 가능 - ex) 예를 들어 쿠키나 세션 처리, 로그인/로그아웃 처리, 권한 처리, 데이터베이스 처리 등 웹 프로그램을 완성하기 위해 만들어야 할 기능이 정말 산더미처럼 많다. 하지만 웹 프레임워크를 사용하면 이런 기능들을 여러분이 일..

- Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있다 - @Controller : 전통적은 Spring MVC 컨트롤러 - 'View'를 반환하기 위해 사용 - @RestController d: HTTP ResponseBody가 생성 - Spring MVC의 컨트롤러를 사용하면서 'Data를 반환해야 하는 경우'가 생기는데 컨트롤러에서는 데이터를 반환하기위해 @ResponseBody 어노테이션을 활용한다 이를 통해서 Controller로 JSON 형태로 데이터를 변환 할 수 있다 즉, JSON의 형태로 객체 데이터를 반환하는 것이다 - 클라이언트의 요청(url)에 맞는 클래스나 메서드를 연결시켜주는 어노테이션이..

- REST stands for REpresentational State Transfer - An architectural 'style' for developing web services - REST is a web standards based architecture and uses 'HTTP' Protocol for data communication - It revolves around 'resources' which are accessed by a common interface using HTTP standard methods ex) Client -> (URI, GET) http://weather.example.com/seoul -> Server(Resource(Seoul)) Server -> (..
1) JDBC : Low-Level Database Access 2) JAP : a technical specification that stands for Java Persistence API 3) Hibernate : implementations of JPA 4) Spring Data JPA : a module that makes it eaiser to use JPA - Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음 - 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 - 인터페이스 이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현함 - Only a specification - Defines a..

- 홈페이지에 인증(Authentication) 및 권한(Authorization)기능을 빠르게 부여해 인증 및 권한 보호 기능을 손쉽게 추가할 수 있는 Spring의 프레임워크 중 하나 - Spring Security is entirely based on 'servlet filter' - ex) Brower (Container) Filter --> Servlet *Container안에 Filter와 Servlet 존재 - Security Filter Chain이란 Spring Security에서 제공하는 인증, 인가를 위한 필터들의 모음 - Spring Security에서 가장 핵심이 되는 기능을 제공하며, 거의 대부분의 서비스는 'Security Filter Chain'에서 실행된다 - 기본적..
- The qurey string(in GET Method) - ex) GET /helloWeb/docreate?name=Alice&email=alice.hansung.ac.kr Host: myserver.com User-Agent: ... Accept-Encoding: ... - The HTTP entitiy body(in POST Method) - ex) POST /helloWeb/docreate HTTP/1.1 Host: myserver.com User-Agent: ... Accept-Encoding: name=Alice&email=alice@hansung.ac.kr - How to move from the 'request prarmeters' to corresponding 'object' 1) N..

- 클라이언트의 요청을 처리하도록 특약 규약이 맞춰 Java 코드로 작성하는 클래스 파일 - 아파치 톰캣(Apache Tomcat)은 이러한 서블릿들이 웹 애플리케이션으로 실행할 수 있도록 해주는 서블릿 컨테이너(Servlet Container) 중 하나이다 - MVC 패턴은 애플리케이션을 개발할 때 사용하는 디자인 패턴 1. Model : 작업의 처리 결과 데이터 - 클라이언트의 요청을 구체적으로 처리하는 영역을 서비스 계층(Service layer) - 요청사항을 처리하기 위해 Java 코드로 구현한 것을 비즈니스 로직(Business Logic) 2. View : Model을 이용하여 화면에 보이는 리소스(Resource)역할을 한다 - HTML 페이지 출력 ..
- Spring의 DI Container에 의해 관리되는 POJO(Plain Old Java Object)를 Bean이라 부른다 - POFO는 Spring 애플리케이션을 구성하는 핵심 객체 - Spring Ioc Container 또는 DI 컨테이너에 의해 생성 및 관리 - 메소드 레벨에서 선언하며, 반환되는 객체(인스턴스)를 개발자가 수동으로 빈으로 등록 - 메소드에서 사용, 즉 메소드 이름으로 빈 이름이 결정 - 개발자가 컨트롤이 불가능한 외부 라이으버리 사용 시 사용 - ex) @Configuration public class AppConfig{ @Bean public MemberService memberService(){ return new MemverServiceImpl(); } } - 클래스 ..
- 객체와 객체사이의 의존성(Object Dependencies) ex) public class PetOwner{ private AnimalType animal; public PetOwner( ){ this.animal = new Dog( ); } } -> Tight coupling(Dog와 PerOwner사이) => 기존방식 1. Bean : 객체(creates beans) 2. Performs dependency injection - 설정파일 : XML Config 3. Design pattern이며 framework(=Spring Container)가 주입을 시켜준다 4. Reduces coupling(객체와 객체사이의 결합도를 약하게 해준다) Runtime시에 의존성을 주입시켜준다(=Dyanmic..