Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

노승현

Spring 파일 생성 및 흐름 이해 본문

Spring

Spring 파일 생성 및 흐름 이해

nsh95 2024. 2. 28. 20:10

스프링 파일 생성 

Type Maven

Packaging War

Java Version 17

Language Java

Group 프로젝트명을 주로 쓴다

Package 뒤에 프로젝트명 붙이기

 

스프링 프레임워크를 넘어오고나서는

 

컨테이너

1 톰캣 : 서블릿 컨텐이너, 웹 서버 내장되어 있음

Servlet 클래스를 new  해줌

FrontController 등

-> web.xml

 

2  스프링 컨테이너 : POJO 클래스를 new 해줌

DAO, DTO, Action(Controller) 등

* 코드내에서 new 역할을 담당하는 컨테이너

-> applicationContext.xml

 

3 루트(최상위) 컨테이너 : .jar(라이브러리)를 관리해줌

얘도 스프링 컨테이너라고도 부름,,,

* 설정 관련 컨테이너

-> pom.xml

 

 

[pom.xml] == 설정파일  개수가 프로젝트에 사용되고 있는 라이브러리 개수를 있다

 

스프링 프레임워크에서는 클릭하면 해당 라이브러리들을 알아서 주입해준다.

다만 MySQL or 최신 라이브러리들은 개발자가 추가로 설정해야 할 수도 있다.

 

 

applicationContext.xml 설정

 

<?xm1 version="1.0" encoding= "UTF-8"?>  인코딩 해주는 코드

 

 

스키마  

<beans xmlns="http://www.springframework.org/schema/beans"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:schemaLocation= "http://www.springframework.org/schema/beans

      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

 현재 컨테이너 버전과 스키마의 버전이 같아야 실행 됨

 

.xml 설정들이 많아지면 개발자들에게 부담이 된다.

.xml 에 작은 에러라도 발생한다면, 프로그램이 실행 안됨

 

 

스프링에서 과도한 설정을 줄여주기 위해 @어노테이션 기능을 개발함

 

스프링은 .xml + @

 

부트는 @ 위주로 실행

 

@은 

개발자 가독성 증가

+

.xml 로의 접근을 줄여줌

.java에 작성함

 

자바 코드와 설정을 한 번에 확인할 수 있음

자바 코드에만 접근하면 되니까 .xml 을 덜 열어봄(오류확률 낮아짐)

 

 

Q.@Autowired 에서 필요한 워치가 애플워치인지 어떻게 앎?

 

A. @Autowired 는 “메모리 자료형(타입)”을 인지하고 연결해주는 역할을 수행함 

같은 타입이 여러개면 안된다

 

컴포넌트에 반드시 이름을 작성해준다.

@Qualifier("galaxyWatch") >> “얘네 워치가 여러개구나” 라고 생각해야된다.

 

 

DTO, DAO -> MODEL 파트

Controller

 

Spring 은 AOP 를 지원함!!!

CRUD(핵심기능) | 공통로직(횡당기능)

DAO의 기능을 별도로 사용하는 Service를 제작

Service가 DAO도 사용할 수 있고,Common도 사용할 수 있다.

 

Controller(Action) -> 직접 DAO 사용

Controller(Action) -> Service 라는 객체를 통해서 DAO 사용

Service가 DAO, 공통로직 골라서 선택적으로 사용

 

Watch <-> Phone 처럼, Service의 메서드 시그니처와 DAO의 메서드 시그니처가 같으면 

사용에 용이하다.

'Spring' 카테고리의 다른 글

DBCP  (0) 2024.03.05
Spring MVC ver.2 로 변환하기  (1) 2024.03.05
ASPECT 란?  (1) 2024.03.04
DI 의존성 주입이란?  (0) 2024.02.28
Spring 이란?  (1) 2024.02.27