Spring19 [Spring] Spring의 MVC ✍️ 학습 목표 MVC 패턴 이해하기 Spring의 MVC 📌 MVC 패턴 스프링은 MVC 패턴을 준수하는 프레임워크이다. 따라서, 스프링의 MVC 패턴을 이해하기 위해서는 먼저 MVC 패턴이 무엇인지 알아야한다. MVC (Model - View - Controller) 패턴은 소프트웨어 공학에서 사용되는 디자인 패턴이다. 이렇게 각자의 규칙과 역할을 가진 3개의 컴포넌트로 구성된 패턴을 MVC 패턴이라고 한다. ✔️ 모델, Model 애플리케이션의 정보, 데이터, DB 등을 담당하는 컴포넌트이다. 다음과 같은 규칙을 가진다. User가 원하는 모든 데이터를 가지고 있어야한다. View와 Controller에 대한 어떠한 정보도 알지 말아야한다. 변경이 발생하면 변경사항을 처리(수정, 전달 등) 할 수 .. 2022. 9. 14. [Spring] Spring의 DB 접근 기술 ✍️ 학습 목표 JDBC Spring JdbcTemplate JPA Spring Data JPA 📌 JDBC JDBC란? Java Database Connectiviy의 약자로 Java 환경에서 DB에 접근하기 위한 표준 API이다. 스프링과 독립적이며 DBMS의 종류와 상관없이 하나의 JDBC API를 이용해서 데이터베이스 작업을 처리한다. ✔️ 등장 배경 및 특징 JDBC 이전에는 데이터베이스 종류에 따라 다른 SQL문을 사용해야 했다. JDBC가 등장하면서 데이터베이스마다 다른 메서드나 전역 변수 등을 통일하는 문법을 만들어 사용할 수 있게 해주었다. 코드가 길고 쿼리문을 직접 작성해야 하는 번거로움이 있으며 예외 처리를 위한 복잡한 try-catch 문을 사용해서 현재는 많이 사용하지 않는다. 📌.. 2022. 8. 23. [Spring] Spring의 핵심 : IoC, DI (23.05.16 updated) ✍️ 학습 목표 IoC DI 📌 IoC (Inversion of Control) IoC란? Inversion of Control의 약자로 단어 그대로 해석하면 '제어의 역전'이라는 뜻이다. 이전에는 프로그램의 흐름을 개발자가 주도했지만 스프링에서는 이 흐름이 달라진다. 메소드나 객체의 호출을 개발자가 아닌 스프링 컨테이너에서 담당한다. 스프링 컨테이너는 IoC 컨테이너라고도 불린다. ✔️ IoC 컨테이너 IoC 컨테이너란? 객체를 생성, 관리 그리고 의존성을 관리해주는 컨테이너이다. IoC 컨테이너가 관리하는 객체를 Bean이라고 하는데, Bean을 저장해서 BeanFactory라고도 불린다. BeanFactory는 하나의 인터페이스이다. 의존 관계 외에 다양한 기능을 제공하는데 이 BeanFactory.. 2022. 8. 23. [Spring] Spring vs Spring Boot (2) ✍️ 학습 목표 스프링이란? 스프링 부트란? 차이점 📌 스프링 부트란? 스프링의 등장만으로 큰 변화를 가져왔지만 개발자들은 여전히 불편한 점이 있었는데 바로 복잡한 환경 설정이다. 다양한 라이브러리와 기술을 지원하면서 덩달아 개발자가 처리해야 하는 설정도 많아지고 복잡해진 것이다. 스프링 부트는 이 문제를 해결하고자 등장했다. 다음 항목들은 내가 생각하는 가장 중요한 기능이자 스프링과의 차이점이라고 생각한다. Auto Configuration Easy Dependency Management Embedded Server 이 3가지 기능들 외에도 라이브러리 버전 자동 관리, 인메모리 데이터베이스(H2), 테스트 환경 제공 등 스프링에는 없던 다양한 기능들을 추가함으로 더 편한 개발 환경을 제공한다. 즉, 최.. 2022. 8. 23. [Spring] Spring vs Spring Boot (1) ✍️ 학습 목표 스프링이란? 스프링 부트란? 차이점 📌 스프링이란? 자바 엔터프라이즈 개발을 편하게 만들어주는 가벼운 애플리케이션 프레임워크이다. 이 한 문장이 스프링의 모든 특징을 잘 말해주고 있다. ✔️ 애플리케이션 프레임워크 일반적인 프레임워크는 특정 분야나 한 가지 기술에 특화되어 있다. 애플리케이션 프레임워크는 많은 영역을 포괄하는 프레임워크를 말한다. 스프링은 전 영역을 관통하는 프로그래밍 모델과 각 영역별로 필요로 하는 조건을 채워주는 기술로 개발의 모든 과정을 빠르고 편리하면서 효율적으로 진행할 수 있게 한다. ✔️ 가볍다 단순히 가볍다거나 코드의 양이 적다는 의미가 아니다. 가볍고 단순한 환경에서도 대규모 개발의 고급 기술을 대부분 사용 가능하고 빠르고 간편하게 코드를 작성할 수 있어 유.. 2022. 8. 19. [Spring] Spring Data JPA (2) 📌 기본 설정 Spring Boot 프로젝트를 생성할 때 'Auto Configuration'이라는 기능 덕분에 관련된 설정이 자동으로 추가된다. Spring Data JPA도 마찬가지이지만 구체적인 값을 지정해야 데이터베이스를 사용할 수 있다. DB를 위한 JDBC 드라이버 설정하기 Spring Boot 프로젝트 내 DB 설정하기 ✔️ Application.properties 설정 (프로젝트 내 DB 설정) spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/{DB명} spring.datasource.username= spring.datasource.passwor.. 2022. 8. 13. 이전 1 2 3 4 다음