Spring

계약 정의를 위한 인터페이스 사용자바에서 인터페이스는 특정 책임을 선언하는 데 사용하는 추상 구조이다. 인터페이스를 구현하는 객체는 이 책임을 정의해야 한다. 동일한 인터페이스를 구현하는 여러 객체는 해당 인터페이스가 선언한 책임을 다른 방식으로 정의할 수 있다. 인터페이스는 '무엇이 발생해야 하는지(필요 대상)'를 지정하는 반면, 인터페이스를 구현하는 모든 객체는 '어떻게 그것이 발생해야 하는지(발생 방법)'를 지정한다고 볼 수 있다.  구현 분리를 위해 인터페이스 사용우리는 목적지로 이동하려고 우버 같은 차량 공유 앱을 사용한다. 일반적으로 차량 공유 서비스를 사용할 때는 차량 외관이나 운전자가 누구인지 신경 쓰지 않으며 그저 목적지에 가기만 하면 된다. 차량 공유 앱은 인터페이스이다.  고객은 자동..
스프링 컨텍스트: 프레임워크가 관리하는 객체를 유지하는 데 사용하는 앱 메모리 공간이다. 프레임워크가 제공하는 기능으로 스프링 컨텍스트에서 보강해야 하는 모든 객체를 추가해야 한다. 2장에서는 컨텍스트 인스턴스의 getBean() 메서드를 사용하여 빈에 직접적으로 액세스했다. 하지만 앱에서는 필요한 곳에 스프링 컨텍스트의 인스턴스 참조를 제공하도록 스프링에 지시함으로써 하나의 빈에서 다른 빈으로 직관적으로 참조할 수 있게 해야 한다. 이 방법으로 빈들 사이의 관계를 설정한다(하나의 빈을 필요할 때 호출을 위임하고자 다른 빈에 대한 참조를 갖게 된다). 구성 파일에서 정의된 빈 간 관계 구현이번에는 @Bean 애너테이션으로 메서드를 지정하는 구성 클래스에서 정의된 두 빈 간 관계를 구현하는 방법을 배운다...
·Spring
@Controller은 전통적인 Spring 컨트롤러에 사용되며, 프레임워크의 일부로 오랫동안 사용되어 왔다. Spring 4.0에서는 RESTful 웹 서비스를 더 쉽게 만들 수 있도록 @RestController 애노테이션을 도입했다. 이 애노테이션은 @Controller와 @ResponseBody를 결합하여, 컨트롤러 클래스의 모든 요청 처리 메서드에 @ResponseBody를 붙일 필요가 없도록 한다. controller - view, restcontroller - 데이터 @Controller전통적인 컨트롤러는 @Controller 애노테이션을 사용하여 주석을 달 수 있다. 이 애노테이션은 단순히 @Component 클래스의 특수화된 형태로, classpath scanning을 통해 구현 클래스를..
메이븐 프로젝트 생성메이븐 [Spring] Maven과 Gradle빌드 관리 도구빌드소스 코드 파일을 컴파일에서 실행할 수 있는 가공물로 변환하는 과정 또는 결과물우리가 작성한 소스코드(java), 프로젝트에서 쓰인 각각의 파일 및 자원 등(.xml, jpa, jpg, properbest11gh.tistory.com사용하는 프레임워크에 관계없이 앱의 빌드 프로세스를 쉽게 관리하는 데 사용하는 도구실제 시나리오에서 스프링 프로젝트에 가장 많이 사용되는 빌드 도구 중 하나이다.GroupId : 관련된 여러 프로젝트를 그룹화하는 데 사용ArtifactId : 현재 애플리케이션 이름Version : 현재 구현 상태의 식별자, 프로젝트를 설정할 때 버전 설정이 나오지 않는다면 생성 후 pox.xml 파일에서 설정..
·Spring
RESTful API란?APIApplication Programming Interface의 약어두 애플리케이션이 서로 통신하는 방법을 정의RESTfulREST 아키텍처 스타일로 요청과 응답을 하는 APIREST 아키텍처의 탄생 배경HTTP 프로토콜REST의 기반이 된다.클라이언트와 서버 간의 데이터를 주고받기 위해 사용되는 표준  HTTP 프로토콜이 표준화되어있긴 하지만 이를 어떻게 구현해야할지 그 방식에 대해서는 유연하기 때문에 개발자마다 구현 방식이 달라지게 된다. → 내용이 복잡하고 유지보수가 어렵게 된다. → 웹(HTTP)의 장점을 최대한 활용할 수 있는 REST 아키텍쳐를 만들자 REST란?REpresentational State Trasfer(표현 상태 전달)의 약자= 자원을 이름(표현)으로..
·Spring
순수 Jdbc와 동일한 환경설정을 하면 된다.스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야 한다. public class JdbcTemplateMemberRepository implements MemberRepository { private final JdbcTemplate jdbcTemplate; @Autowired public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource) } @Override public Mem..
G.H
'Spring' 카테고리의 글 목록