728x90

개발/Spring 7

[Spring] Spring Boot gradle build 에러 - Execution failed for task ':compileQuerydsl'. > ... > Could not find com.sun.mail:javax.mail:. 해결 방법

spring boot gradle 프로젝트를 aws ec2 환경에서 배포하기 위해 빌드를 했는데 다음과 같은 에러가 나왔습니다. * What went wrong: Execution failed for task ':compileQuerydsl'. > Could not resolve all files for configuration ':querydsl'. > Could not find com.sun.mail:javax.mail:. Required by: project : Exception을 포함한 자세한 에러 내용은 다음과 같습니다. org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileQuerydsl'. ... Cau..

개발/Spring 2022.08.14

[Spring] MyBatis, MyBatis-Spring 특징과 역할

MyBatis MyBatis는 Java Object와 SQL문 사이의 자동 Mapping 기능을 지원하는 ORM Framework이다. MyBatis는 SQL을 별도의 파일로 분리해서 관리한다. MyBatis의 특징 1. 쉬운 접근성과 코드의 간결함 - 가장 간단한 persistence framework - XML 형태로 작성된 JDBC 코드라 생각해도 될 만큼 JDBC의 모든 기능을 MyBatis가 대부분 제공한다. - 복잡한 JDBC 코드를 걷어내며 깔끔한 소스코드를 유지할 수 있다. - 수동적인 parameter 설정과 Query 결과에 대한 mapping 구문을 제거 2. SQL문과 프로그래밍 코드의 분리 - SQL에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일하지 않아도 된다. - SQL ..

개발/Spring 2022.05.31

[Spring] 스프링 부트 (Spring Boot) 특징 및 구조

Spring Boot의 특징 및 구조와 사용 파일에 대해서 알아보자. Spring의 경우 Application을 개발하려면 사전에 많은 작업(library 추가, dependency 설정, 여러 가지 구성 및 설정)을 해야 했다. SpringBoot의 장점 - project에 따라 자주 사용되는 library들이 미리 조합되어 있다. - 복잡한 설정을 자동으로 처리해준다. - 내장 서버를 포함해서 tomcat과 같은 WAS를 추가로 설치하지 않아도 개발이 가능하다. - WAS에 배포하지 않고도 실행할 수 있는 JAR파일로 Web Application을 개발할 수 있다. SpringBoot project 생성 구조 및 주요 구성 폴더/파일 ◇프로젝트의 주요 파일 설명 src/main/java - java ..

개발/Spring 2022.05.18

[Spring] 스프링 MVC 아키텍처의 이해 (Spring MVC Architecture)

MVC Pattern 애플리케이션의 확장을 위해 Model, View, Controller 세 가지 영역으로 분리한다. 컴포넌트의 변경이 다른 영역 컴포넌트에 영향을 미치지 않아서 유지보수에 용이하다. 컴포넌트 간의 결합성이 낮아 프로그램 수정이 용이해 확장성이 뛰어나다. Spring MVC 실행 순서 DispatcherServlet (단일 Front Controller Servlet)이 요청을 수신한다. ↓↓ DispatcherServlet은 Handler Mapping에 어느 Controller를 사용할 것인지 문의한다. ↓↓ DispatcherServlet은 요청을 Controller에게 전송하고 Controller는 요청을 처리한 후 결과를 리턴한다. ↓↓ ModelAndView Object에 수..

개발/Spring 2022.05.17

[Spring] 스프링에서 많이 사용하는 어노테이션 정리 (Annotation)

◈ 빈 자동 등록에 사용할 수 있는 annotation 종류 @Repository Data Access Layer의 DAO 또는 Repository 클래스에 사용한다. DataAccessException 자동변환과 같은 AOP의 적용 대상을 선정하기 위해서 사용된다. @Service Service Layer의 클래스에 사용한다. @Controller Presentation Layer의 MVC Controller에 사용한다. 스프링 웹 서블릿에 의해 웹 요청을 처리하는 컨트롤러 빈으로 선정된다. @Component 위의 Layer 구분을 적용하기 어려운 일반적인 경우에 설정한다. 빈 자동인식을 위한 annotation 종류가 여러 가지인 이유는 계층별로 빈의 특성이나 종류를 구분하고 AOP Pointcut..

개발/Spring 2022.05.16

[Spring] REST, REST API, RESTful API, OPEN API란?

OPEN API란?? OPEN API는 프로그래밍에서 사용할 수 있는 개방되어 있는 상태의 Interface를 말한다. naver나 kakao 등 포털 서비스 사이트나 통계청, 기상청, 우체국 등과 같은 관공서, 공공 데이터 포털이 가지고 있는 데이터를 외부 응용 프로그램에서 사용할 수 있도록 OPEN API를 제공하고 있다. OPEN API와 함께 거론되고 있는 기술이 REST이고, 대부분의 OPEN API는 REST 방식으로 지원된다. REST란?? REST는 Representational State Transfer의 약자로 2000년도 Roy Fielding의 박사학위 논문에 최초로 소개되었다. 하나의 URI는 하나의 고유한 Resource를 대표하도록 설계된다는 개념에 전송방식을 결합해서 원하는 ..

개발/Spring 2022.05.13

[Spring] 스프링 프레임워크 (Spring Framework)

Spring Framework의 등장 배경 웹사이트가 점점 커지면서 엔터프라이즈급의 서비스가 필요하게 됨에 따라 자바 진영에서는 EJB가 각광을 받았다. 하지만 EJB는 EJB스펙에 정의된 인터페이스에 따라 코드를 작성해야 하기 때문에 기존에 작성된 POJO를 변경해야 했다. 그리고 컨테이너에 배포를 해야 테스트가 가능해서 개발 속도가 느리고 배우기가 어렵고 설정해야 할 것들이 많았다. Rod Johnson의 'Expert One-on-One J2EE Development without EHB'라는 책에서 EJB를 사용하지 않고 엔터프라이즈급 서비스를 개발하는 방법을 소개하였고 이것이 스프링의 모태가 되었다. 점차 경량 프레임워크와 POJO를 사용하기 시작하였다. 이때 POJO는 Plain Old Jav..

개발/Spring 2022.05.11
728x90