728x90
반응형

Web/Java+Spring 33

Spring MVC

MVC Model-View-Controller의 약자 Model : View가 렌더링하는데 필요한 데이터. ex - 사용자가 요청한 상품 목록이나, 주문 내역 View : 웹 애플리케이션에서 View는 실제로 보이는 부분이며, 모델을 사용해 렌더링을 합니다. 뷰는 JSP, JSF, PDF, XML등으로 결과를 표현 Controller : 사용자의 액션에 응답하는 컴포넌트. 컨트롤러는 Model을 업데이트하고, 다른 액션을 수행. MVC Model Model 1 아키텍처 브라우저가 요청하면 해당 요청을 JSP가 받음 -> 그렇기에 요청만큼 JSP 페이지가 필요함 JSP는 JAVA로 만든 클래스인 Java Bean(DAO클래스 등)을 이용해 DB를 사용 그 결과를 화면에 출력. 단점 - JSP 자체에 Jav..

Web/Java+Spring 2021.06.04

Spring JDBC - DTO/DAO

DTO Data Transfer Object의 약자 계층간 데이터 교환을 위한 자바빈즈 여기서의 계층이란 컨트롤러 뷰, 비지니스 계층, 퍼시스턴스 계층을 의미 일반적으로 DTO는 로직을 가지고 있지 않고, 순수한 데이터 객체 데이터를 한꺼번에 들고 다닐 수 있도록 만들어짐 필드와 getter, setter를 가진다. 추가적으로 toString(), equals(), hashCode()등의 Object 메소드를 오버라이딩 할 수 있습니다. public class ActorDTO { private Long id; private String firstName; private String lastName; public String getFirstName() { return this.firstName; } pub..

Web/Java+Spring 2021.06.02

Spring JDBC

Spring JDBC JDBC를 사용하면 반복적인 코드가 많기에 저수준의 세부사항을 Spring이 처리해줌 개발자는 필요한 부분만 개발하면 됨 (연결 파라미터 정의) : 이 사용자가 어떤 DB에 접속하게 할 건지 (SQL문 지정) : 어떤 테이블에 query문을 보낼지 등을 정함 Spring JDBC 패키지 org.springframework.jdbc.core JdbcTemplate 및 관련 Helper 객체 제공 org.springframework.jdbc.datasource DataSource를 쉽게 접근하기 위한 유틸 클래스, 트랜젝션매니져 및 다양한 DataSource 구현을 제공 org.springframework.jdbc.object RDBMS 조회, 갱신, 저장등을 안전하고 재사용 가능한 객..

Web/Java+Spring 2021.06.02

JAVA Config

DI 설정을 java config로 설정해보기 xml로 설정하면 에러 찾기 여간 까다롭지만 다음과 같이 설정하면 어느 지점에서 에러가 발생하였는지 조금 더 쉽게 찾을 수 있다 Java config를 이용한 설정을 위한 어노테이션 @Configuration 스프링 설정 클래스를 선언하는 어노테이션 java config 클래스를 읽어들여 IoC와 DI를 적용. @Bean bean을 정의하는 어노테이션 @Bean이 붙은 메소드를 자동 실행하여 그 결과로 반환된 객체들은 기본적으로 싱글턴으로 관리 아래의 4 종류의 어노테이션이 붙어 있지 않은 객체는 @Bean으로 직접 생성하여 사용 @ComponentScan @Controller, @Service, @Repository, @Component 어노테이션이 붙은 ..

Web/Java+Spring 2021.06.02

Spring IoC/DI 컨테이너

Container 객체의 생명주기를 관리하며, 그 객체에 추가적인 기능을 제공 예로 Servlet을 실행해주는 WAS는 Servlet 컨테이너를 가지고 있다고 말함. WAS는 웹 브라우저로부터 Servlet URL에 해당하는 요청을 받으면, Servlet을 메모리에 올린 후 실행 개발자가 Servlet 클래스를 작성했지만, 실제로 메모리에 올리고 실행하는 것은 WAS가 가지고 있는 Servlet 컨테이너. Servlet 컨테이너는 동일한 Servlet에 해당하는 요청을 받으면, 메모리에 올리지 않고 기존에 메모리에 올라간 Servlet을 실행하여 그 결과를 웹브라우저에 전달 IoC (Inversion of Control) Container가 코드 대신 객체의 제어권을 갖고 있어 이 상황을 IoC(제어의 ..

Web/Java+Spring 2021.06.01

Spring Framework

Spring Framework란? . 엔터프라이즈급 어플리케이션을 구축할 수 있는 가벼운 솔루션이자, 원스-스탑-숍(One-Stop-Shop) 원하는 부분만 가져다 사용할 수 있도록 모듈화가 잘 되어 있습니다. 모든 과정을 한꺼번에 해결 가능 IoC 컨테이너입니다. 선언적으로 트랜잭션을 관리할 수 있습니다. 완전한 기능을 갖춘 MVC Framework를 제공합니다. AOP 지원합니다. 스프링은 도메인 논리 코드와 쉽게 분리될 수 있는 구조로 되어 있습니다. Spring Framework Module - 20가지 필요한 모듈만 가져와서 사용 가능 AOP와 Instrumentation spring-AOP : AOP 얼라이언스(Alliance)와 호환되는 방법으로 AOP를 지원합니다. spring-aspect..

Web/Java+Spring 2021.05.31

Web API 실습

1. JSON 파일에 전체 데이터 저장하기 1-1. Maven 프로젝트 생성 wepapp artifact로 artifact id는 webAPIexam pom.xml에 추가할 코드 적은 뒤 꼭 Update Project 에는... +) 1.8로 바꿔두기 UTF-8 1.8 1.8 false 에는... com.fasterxml.jackson.core jackson-databind 2.9.4 javax.servlet javax.servlet-api 3.1.0 provided mysql mysql-connector-java 5.1.46 1-2. JDBC 패키지 2개 가져오기 1. /src/main 에 java 폴더 생성 2. /src/main/java에 ko.or.connect.webAPIexam.api 패키지 ..

Web/Java+Spring 2021.05.14

REST API 와 Web API, 상태 코드

API “API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻합니다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공합니다. 자바 프로그래밍을 위해서는 자바 언어가 제공하는 것들이 어떤 것이 있는지를 알아야 합니다. 그래야, 사용할 수 있겠죠? 절대값을 구하기 위해서는 어떻게 해야 할까요? Java API문서를 읽어보면 답을 알 수 있습니다. Math클래스의 abs()메소드를 사용하면 된다는 것을 알 수 있죠. 해당 메소드가 어떻게 내부적으로 구현되어 있는지는 문서를 봐도 알 수 없습니다. 하지만,..

Web/Java+Spring 2021.05.14

JDBC - 입력/수정/조회/삭제

입력 RoleDao.java에 addRole() 메소드 추가 // 입력 public int addRole(Role role) { int insertCount = 0; // 반환값 Connection conn = null; PreparedStatement ps = null; // 입력값은 결과값을 가져오지 않기에 resultset은 안 적음 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } // 물음표가 들어간 쿼리는 완전한 쿼리문이 아니기에 // 꼭 각각에 대한 바인딩이 필요 String sql = "INSERT INTO role (role_id, descriptio..

Web/Java+Spring 2021.05.14

JDBC 준비

JDBC java database connectivity 자바로 DB 접속과 SQL문장 실행, 그 결과로 얻은 데이터를 다루는 방법과 절차에 관한 규약 자바 프로그램에서 SQL문을 실행하기 위한 자바 API 각 데이터베이스 벤더에서 제공해주는 드라이버를 사용하면 됨 JDBC 드라이버 설치 Maven에 아래 코드를 추가. MySQL은 사이트에서 다운로드 받음. 실습 1. maven - quick-start 프로젝트 생성 group id : kr.or.connect artifact id : jdbcexam 2. maven 초기 설정 jdk 1.8 을 위해 pom.xml에서 아래 코드의 1.7을 1.8로 수정 후 저장 1.8 1.8 JDBC 드라이버 설정 mysql은 따로 설치하기. 아래 코드는 pom.xml..

Web/Java+Spring 2021.05.14
728x90
반응형