728x90

Programming 275

JAVA - Reflection API

- Reflection API 1. 구체적인 클래스 타입을 알지 못해도 그 클래스의 정보(메서드, 타입, 변수 등등)에 접근할 수 있게 해주는 자바 API다. - Car 클래스 구현 public class Car { private final String name; private int position; public Car(String name, int position) { this.name = name; this.position = position; } public void move() { this.position++; } public int getPosition() { return position; } } - 다형성을 통한 객체 생성 public static void main(String[] args)..

Programming/JAVA 2023.06.01

Spring - 스프링 MVC 구현하기(Mapper, @Valid, 등...)

- 등록 작업의 경우 1. TodoMapper -> TodoService -> TodoController -> JSP의 순서로 처리하도록 한다. - ModelMapper는 DTO를 VO로 변환하거나 VO를 DTO로 변환해야 하는 작업에 사용된다. - @Configuration은 해당 클래스가 스프링 빈(Bean)에 대한 설정을 하는 클래스임을 명시한다. - @Bean은 해당 메소드의 실행 결과로 반환된 객체를 스프링의 빈(Bean)으로 등록시키는 역할을 한다. package org.zerock.springex.config; import org.modelmapper.ModelMapper; import org.modelmapper.convention.MatchingStrategies; import org.s..

Programming/Spring 2023.05.30

Spring - bean, root-context, servlet-context,

- Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 부른다. - 일반적으로 자바 프로그램에서는 1. 각 객체들이 프로그램의 흐름을 결정하고 각 객체를 직접 생성하고 조작하는 작업(객체를 직접 생성하여 메소드 호출)을 했다. 즉, 모든 작업을 사용자가 제어하는 구조였다. ex) A 객체에서 B 객체에 있는 메소드를 사용하고 싶으면, B 객체를 직접 A 객체 내에서 생성하고 메소드를 호출했다. - 하지만 IoC가 적용된 경우, 객체의 생성을 특별한 관리 위임 주체에게 맡긴다. 이 경우 사용자는 객체를 직접 생성하지 않고, 객체의 생명주기를 컨트롤러하는 주체는 다른 주체가 된다. 즉, 사용자의 제어권을 다른 주체에게 넘기는 것을 IoC(제어의 역전)라고 한다. - 우리가 알던 기존의 자..

Programming/Spring 2023.05.29

Spring - 정리 (2023.05.26.FRI)

- 쿼리 스트링, 파라미터 1. 웹에서 주소창 뒤에 '?'로 시작하는 내용물을 쿼리 스트링이라고 한다. 데이터를 전달하기 위해서 사용한다. 2. 쿼리 스트링은 '키=값'의 형태로 데이터를 전달하는데 여러 개의 데이터가 필요한 경우 '&'를 이용해서 연결한다. 이러한 '키=값'의 형태를 흔히 '파라미터 이름과 값'이라고 한다. - 태그를 이용해서 action을 통해 데이터를 전달 할 경우 ${param}을 사용해서 전달 받은 데이터를 사용할 수 있다. SEND // post 방식으로 num1과 num2에 데이터를 담아서 전송 // calcResult.jsp ... NUM1 ${param.num1} NUM1 ${param.num2} - 웹의 파라미터는 모두 문자열이기 때문에 결과 데이터를 처리하기 위해서는 ..

Programming/Spring 2023.05.26

Spring - Cookie (쿠키)

- HTTP에서 세션 트레킹은 '쿠키(Cookie)'라는 존재를 이용한다. '쿠키'는 문자열로 만들어진 데이터의 조각으로 서버와 브라우저 사이에서 요청(Request)이나 응답(Response) 시에 주고받는 형태로 사용된다. - 쿠키는 문자열로 되어있는 정보로 가장 기본적인 형태는 '이름(name)'과 '값(value)'의 구조이다. -쿠키를 주고받는 기본적인 시나리오는 다음과 같다. 1. 브라우저에서 최초로 서버를 호출하는 경우에 해당 서버에서 발행한 쿠기가 없다면 브라우저는 아무것도 전송하지 않는다. 2. 서버에서는 응답(Response) 메시지를 보낼 때 브라우저에게 쿠키를 보내주는데 이때 'SetCookie'라는 HTTP 헤더를 이용한다. 3. 브라우저는 쿠키를 받은 후에 이에 대한 정보를 읽고..

Programming/Spring 2023.05.26

Spring - Lombok 라이브러리

- Lombok 라이브러리 1. Lombok을 이용하면 간단한 어노테이션을 추가하는 것만으로 getter/setter 등을 생성하거나 생성자 함수를 정의하는 것을 처리할 수 있다. 1. getter/setter 관련 : @Getter, @Setter, @Data 등을 이용해서 자동 생성 2. toString() : @ToString을 이용한 toString() 메소드 자동 생성 3. equals()/hashCode() : @EqualsAndHashCode를 이용한 자동 생성 4. 생성자 자동 생성 : @AllArgsConstructor, @NoArgsConstructor 등을 이용한 생성자 자동 생성 5. 빌더 생성 : @Builder를 이용한 빌더 패턴 코드 생성

Programming/Spring 2023.05.25

Spring - JDBC

* 프로젝트 생성 시 JAVA EE 8에는 Tomcat 9 버전을 사용해야 한다. - JDBC 프로그램의 구조 1. 자바 프로그램과 데이터베이스를 네트워크 상에서 연결해 데이터를 교환하는 프로그램으로 관련 API는 java.sql 패키지와 java.sql 패키지를 이용한다. - JDBC 프로그램 작성 순서 1. 네트워크를 통해서 데이터베이스와 연결을 맺는 단계 2. 데이터베이스에 보낼 SQL을 작성하고 전송하는 단계 3. 필요하다면 데이터베이스가 보낸 결과를 받아서 처리하는 단계 4. 데이터베이스와 연결을 종료하는 단계 - JDBC 프로그래밍에서 가장 중요한 사실 중 하나는 'Connection은 반드시 close()해야 한다' - java.sql.PreparedStatement 1. JDBC에서 SQL..

Programming/Spring 2023.05.25

JAVA - 람다 (기본)

1. 람다식 - 람다식은 간단히 말해서 메서드를 하나의 '식'으로 표현한 것이다. 람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다. - 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 '익명 함수'이라고도 한다. int[] arry = new int[5]; Arrays.setAll(arr, (i) -> (int)(Math.random()*5+1); (i) -> (int)(Math.random()*5+1); // 메서드로 표현하면 int method() { return (int)(Math.random()*5+1; } 반환타입 메서드이름 (매개변수 선언) { 문장들 } // 람다식으로 변형 (매개변수 선언) -> { 문장들 } int max(int am int b..

Programming/JAVA 2023.05.18
728x90