![[Spring] 스프링 서비스 & DAO 객체 구현(Spring Service & DAO Implementation)](http://i1.daumcdn.net/thumb/C120x120/?fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FKRVH2%2FbtqTvQjr1jM%2FAAAAAAAAAAAAAAAAAAAAAD6ZMAdQs-TdRsZ-v4DSzobFBlh4rsflgy6GIXQ_Qw7o%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DN%252FKBlM3mrayqgOTYNJHm6wFudCw%253D)
[Spring] 스프링 서비스 & DAO 객체 구현(Spring Service & DAO Implementation)
| 스프링 서비스 & DAO 객체 구현(Spring Service & DAO Implementation) 기본적인 서비스와 DAO 객체를 구현한 스프링 프로젝트를 구축해보고자 한다. 아파치 톰캣(Apache Tomcat) 상에서 실행되며 이클립스(Eclipse) IDE를 사용하여 빠르게 프로젝트를 실행해 보거나 디버깅할 수 있다. | 프로젝트 구조(Project Structure) 이클립스 상에서 Project Explorer에 나타낸 프로젝트 구조는 다음과 같다. 기본적인 서비스와 DAO 객체를 구현한 예제이다. | 스프링 UTF-8 인코딩 필터 설정(Spring UTF-8 Encoding Filter Configuration) 스프링에서는 UTF-8 인코딩을 따로 설정해주지 않으면 한글이 깨지는 현상..
- Spring Framework/Spring 입문 - 개념 및 핵심
- · 2021. 1. 14.
![[Spring] 이클립스(Eclipse) 스프링(Spring) MVC 프로젝트 구조 및 로직 흐름](http://i1.daumcdn.net/thumb/C120x120/?fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fbd0sCq%2FbtqTyCdFOF0%2FAAAAAAAAAAAAAAAAAAAAAE1X2FwTyu4DZqNPGYd7YDlilkgfoqRzBYMaM7kx456z%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D4BV8hFsjOWgucDrL75MBO3pNXns%253D)
[Spring] 이클립스(Eclipse) 스프링(Spring) MVC 프로젝트 구조 및 로직 흐름
| 스프링 MVC 프로젝트 구조 (Spring MVC Project Structure) 스프링 MVC 프로젝트(Spring MVC Project)를 생성할 시 생성되는 구조는 다음과 같다. JAVA 파일 : 자바 파일들이 위치해 있는 디렉터리. 자바로 작성된 Controller, Service, DAO 파일들이 위치해있다. webapp : 웹과 관련된 파일들이 위치해있는 디렉터리. html, css, js, jsp 파일이 위치해있다. 또한 웹 어플리케이션 구동에 필요한 XML 설정파일들이 위치해있다. webapp의 resources : JSP파일을 제외한 html, css, js 파일이 위치해있다. spring 폴더 : 스프링 컨테이너를 생성하기 위한 스프링 설정파일이 위치해있다. views 폴더 : V..
- Spring Framework/Spring 입문 - 개념 및 핵심
- · 2021. 1. 14.
![[Spring] Eclipse 톰캣(Tomcat) 연동 및 STS 설치, Spring MVC 프로젝트 생성](http://i1.daumcdn.net/thumb/C120x120/?fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcBjAdn%2FbtqToxFzxy9%2FAAAAAAAAAAAAAAAAAAAAAN9Yso8EcHyHv2j3h8uaCt3Vdi3JzSdRSBgvGjwioxIy%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DppJnAiKmpgNsuLhCEN59gKxcMSk%253D)
[Spring] Eclipse 톰캣(Tomcat) 연동 및 STS 설치, Spring MVC 프로젝트 생성
| 톰캣(Tomcat) 설치 및 연동 아파치 톰캣(Apahce Tomcat)은 Apache에서 제공하는 오픈소스 WAS 서버다. 톰캣은 아래 사이트에서 다운로드 할 수 있다. ▶http://tomcat.apache.org/ 톰캣 8.0 다운로드 페이지에 들어간다. 여기서 8.5 버전을 다운로드한다. zip파일을 다운로드 받은 후 압축을 푼다. 설치경로는 사용자 마음대로지만 여기서는 D:\tomcat으로 할 것이다. Eclipse의 Window => Show View => Server 를 클릭하면 아래와 같은 창이 하나 생긴다. 파란색 하이퍼링크를 클릭한다. 8.5 버전을 선택한다. Browse를 클릭하여 톰캣이 설치된 디렉터리를 선택한다. 여기서는 D:\tomcat이다. 아래와 같이 서버 정보가 생성되면..
- Spring Framework/Spring 입문 - 개념 및 핵심
- · 2021. 1. 14.
[Spring] 스프링(Spring) MVC 아키텍처/설계 구조
| 웹 어플리케이션 설계 모델(Web Application Architecture) 웹 어플리케이션은 크게 MVC 패턴을 따르게 되며 Model, View, Controller로 나뉘게 된다. Model : DB와 상호작용하며 비즈니스 로직을 처리하는 모듈 View : Client에게 보여지는 결과화면을 반환하는 모듈Controller : Client 요청이 들어왔을 때 그 입력을 처리하고 어떤 로직을 실행시킬 것인지 제어하는 모듈 웹 프로그래밍을 구축할 때의 설계 모델은 Model1, Model2 크게 2가지가 있다. 두 모델의 큰 차이는 클라이언트의 요청 사항을 모듈화되지 하나의 파일로 처리할 것이냐 각각의 기능을 담당하는 모듈들이 역할을 분담해서 처리할 것이냐로 결정된다. . Model1는 WAS(..
- Spring Framework/Spring 입문 - 개념 및 핵심
- · 2020. 12. 21.
[Spring] 어노테이션(Annotation)을 이용한 스프링 설정
| 어노테이션(Annotation)을 이용한 스프링 설정 스프링에서는 XML 설정을 통해 Bean 객체를 컨테이너 상에서 구현할 수 있지만 Java 파일을 이용해서도 구현할 수 있다. 다음의 XML 설정파일을 Java 설정 파일로 변환하면 다음과 같다. @Configuration public class JavaConfig { @Bean public Gun gun() { return new Gun(); } @Bean public Knife knife() { return new Knife(); } @Bean public Player gunPlayer() { return new Player(gun()); } @Bean public Player gunPlayer2() { return new Player(knif..
- Spring Framework/Spring 입문 - 개념 및 핵심
- · 2020. 12. 21.
[Spring] 스프링(Spring) @Qualifier, @Named, @Primary 의존객체 선택
| 스프링 의존객체 선택(Select Spring Dependency Object) @Autowired, @Resource, @Inject 어노테이션으로만 자동적으로 객체를 주입할 경우 컨테이너에서 주입할 대상이 여러개여서 의존성을 주입하지 못하는 경우가 발생할 수 있다. 다음과 같이 @Autowired를 통해 객체를 주입하려고 할 때, 컨테이너상에서는 Weapon 인터페이스를 상속한 2개의 bean 객체인 gun과 knife가 존재한다. @Autowired는 먼저 Type을 기준으로 주입할 객체를 정하기 때문에 같은 Type이 스프링 컨테이너 상에 존재할 경우 에러를 내게 된다. appContext.xml public class Player { @Autowired private Weapon weapon..
- Spring Framework/Spring 입문 - 개념 및 핵심
- · 2020. 12. 17.
[Spring] 스프링 빈 범위 지정(Spring Bean Scope), 싱글턴(Singleton), 프로토타입(Prototype)
| 스프링 빈 범위 지정(Spring Bean Scope) 스프링 빈(Spring Bean)의 범위는 2가지로 나뉜다. 싱글턴(Singleton)과 프로토타입(Prototype)이다. 싱글턴 방식은 스프링 컨테이너(Spring Container)에서 자바 어플리케이션이 특정 bean을 가져올 때 딱 하나 유일한 인스턴스만을 제공하는 방식이다. 이 방식은 bean을 설정할 때 default값이다. 그와 반대로 프로토타입은 특정 bean을 가져올 때 가져올 때마다 다른 인스턴스들을 생성해서 제공하는 방식이다. 다음은 싱글턴, 프로토타입을 xml 설정파일 상에서 어떻게 설정할 것인지를 나타낸 xml 코드다. appContext.xml bean을 설정할 때 scope 속성을 통해 bean의 범위를 명시하면 된다..
- Spring Framework/Spring 입문 - 개념 및 핵심
- · 2020. 12. 17.