반응형

Java 57

Spring Framework_컨테이너 & 빈 관리

#1 컨테이너 종류 및 역할1. 서블릿 컨테이너 (웹 서버, 톰캣)내장 서버(설치 xx)Servlet 클래스를 new(생성) 해줌 (ex. FrontController)2. 스프링 컨테이너POJO 클래스를 new 해줌 (ex. DAO, DTO, Action류)코드 내에서 new 역할을 담당하는 컨테이너3. 루트(최상위) 컨테이너.jar(라이브러리)를 관리스프링에서 제공해주다보니까 스프링 컨테이너라고 불리기도함설정에 대한 이야기를하면 루트 컨테이너를 말한다고 알아들으면 됨 #2-1 XML 설정 파일: 컨테이너가 구동되려면 설정 파일(.xml)이 필요함: 스프링은 XML 기반의 설정 파일을 사용해서 컨테이너를 구성하고 빈들을 정의함: 개발자는 XML 설정 파일에 빈의 정의를 작성해 컨테이너가 해당 빈을 생성..

개발/Spring 2024.07.16

Spring Framework_설치

https://spring.io/#1Spring Starter ProjectImport Spring Getting Started Content #2Name : 프로젝트 이름Location : 지정해둔 위치 기본 설정Type : Gradle(부트 방식) / Maven(자바기반 Spring 레거시 프레임워크가 기본제공)Packaging : War(웹 배포) / Jar(자바 아카이브 배포)Group : 프로젝트를 진행하는 담당파트나 회사명Package : 패키지 경로; com.Group명.Project명 #3New Spring Starter Project Dependencies.jar를 말하는 것으로 최상위 루트 컨테이너라이브러리를 여기서 다운받아서 관리할 수 있음

개발/Spring 2024.07.16

Spring Framework_ApplicationContext, <bean></bean>

[ 스프링 컨테이너_ApplicationContext ] 1. 컨테이너 설정파일확장자 : .xml서블릿 컨테이너 : web.xml스프링 컨테이너 : applicationContext.xml 2. applicationContext.xml 루트 엘리먼트 : 루트 엘리먼트(root element) : XML 문서의 최상위 요소. 즉, XML 문서의 시작과 끝을 나타내는 요소로서 다른 모든 요소는 루트 엘리먼트 안에 포함되어야 함. 보통 루트 엘리먼트는 하나의 XML 문서에 한 번만 나타남applicationContext.xml 파일에서는 가 주로 루트 엘리먼트가 됨이 파일에서 설정이 작성되는 주요 위치이기 때문에 루트 엘리먼트의 역할을 하게 됨따라서  태그 사이에 스프링의 각종 설정이 태그로 작성됨많이 들어가..

개발/Spring 2024.07.16

Spring Framework_결합도(Coupling)

[ 결합도 - Coupling ]: 모듈 간의 상호 의존성을 나타내는 개념높은 결합도는 한 요소의 변경이 다른 요소에 미치는 영향이 크다는 것을 의미, 유지보수 불리따라서 낮은 결합도가 유지보수성을 향상시키는데 도움을 줌!결합도를 낮추기 위한 방법 ↓ 1. 인터페이스 활용 : DTO: 객체가 변경되어도, 메서드를 추가 변경하지 않아도됨 > 다형성 구현! Interface - Phone.java Class - IPhone.java , GalaxyPhone.java 2. 팩토리 패턴 활용 : HandlerMapping : 코드에 new가 있었는데, new가 없어짐 >>> 코드에 new가 없을수록 결합도가 낮음Spring 컨테이너 코드에 BeanFactory 타입은 무조건 있음원래 객체를 받아오려면 new 했..

개발/Spring 2024.07.16

JAVA_18_Thread

#1 프로세스와 스레드멀티태스킹 : 동시에 두가지 이상의 작업을 처리하는 것멀티태스킹을 위한 두 가지 도구 : 프로세스, 스레드프로그램 : 파일이 존재하지만 아직 메모리에 올라가 있지 않은 상태, 즉, 실행되지 않은 코드의 집합프로그램을 실행하는 순간 메모리에 올라가고 동작하게 되는데 이 상태의 프로그램을 '프로세스'라고 함프로세스프로그램이 동작하여 메모리에 올려진 상태, 실행 중인 프로그램을 의미프로세스는 독립적으로 메모리에 등록되므로 여러 개의 프로그램을 동시에 실행할 수 있게 됨프로세스가 여럿이 병렬적으로 실행되는 것을 thread가 해결해줌스레드프로세스 내에서 독립적으로 실행되는 작업 단위프로세스 내의 주소 공간이나 자원들과 같은 스레드끼리 공유하면서 실행됨스레드는 프로세스의 heap, data(..

개발/Java 2024.07.16

JAVA_17_람다식

#1 람다식(Lambda expression)JDK 1.8부터 자바에서 지원하는 함수형 프로그래밍함수의 이름이 없는 익명 함수(anonymous function)를 만들기 위한 표현식자바는 객체 지향 프로그램으로 클래스 생성 후 클래스 안에 메서드와 객체 만들어서 사용함수형 프로그래밍은 객체 지향 프로그래밍과 달리 함수만 구현하고 실행*함수: 클래스에서 독립적, 메서드: 클래스에 종속적#2 람다식 문법'익명 함수'답게 메서드의 이름과 반환 타입을 제거하고 화살표 기호(→)를 사용해 구현생략() 소괄호 생략 : 매개 변수가 한 개인 경우{} 중괄호 생략 : 함수의 return 타입이 없는(void) 경우return 생략 : 중괄호 안의 구현 코드가 return 문만 존재하는 경우 (중괄호, return 모..

개발/Java 2024.07.16

JAVA_16_컬렉션 프레임워크

#1 컬렉션 프레임워크자바는 자료구조를 미리 구현하여 java.util 패키지에서 컬렉션 프레임워크를 제공기존에 존재했던 자료 구조에 인터페이스로 설계된 기능을 클래스를 통해 제공하여 데이터 관리에 용이한 자료 구조 객체를 구조화한 것컬렉션: 기존의 List, Map, Set 등의 자료 구조프레임워크: 클래스와 인터페이스를 묶어 놓은 개념List와 Set 인터페이스는 Collection 인터페이스를 상속받지만, Map 인터페이스는 구조상 차이로 별도로 정의인터페이스설명특징대표 구현 클래스List순서가 있는 데이터의 집합데이터 중복 ooArrayList, LinkedList, VectorSet순서를 유지하지 않는 데이터의 집합데이터 중복 xxHashSet, LinkedHashSetMap키(key) - 값(..

개발/Java 2024.07.16

JAVA_15_기본 API 클래스

#1 자바 API 문서프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음 == 라이브러리 #2 java.lang 패키지자바 프로그램의 기본적인 클래스를 담고 있는 패키지 (선언 없이 사용, import 필요 없음)클래스용도Object자바 클래스의 최상위 클래스로 사용모든 클래스는 Object가 가진 여러 메서드를 그대로 사용하거나 override해 사용 가능   - boolean equals(Object obj) : 다른 객체와 자신이 가진 실제 값 비교   - int hashCode() : 객체의 hashCode 값을 반환   - String toString() : 객체 자신의 문자 정보를 반환System시스템의 표준 입/출력 장치로부터 데이터를 입력받거나 출력하기 위해 사용자바 가상 기계를 종..

개발/Java 2024.07.16

JAVA_14_예외 처리

#1 예외 처리▶ 에러(error)해결할 수 없는 시스템에 에러가 발생해 프로그램이 종료된 경우시스템에 비정상적인 상황이 생겼을 때 발생개발자가 예측하거나 처리할 수 없는 영역OutOfMemoryError : 프로그램 실행 중 메모리 부족IOError : 입출력 에러StackOverFlowError : 가용 메모리 부족 현상, 재귀 호출 문제 시 발생▶ 예외(exception)프로그램 사용 중 발생한 오류를 개발자가 처리해 메시지가 출력된 경우프로그램 구동 중에 예외가 발생했을 경우 프로그램의 갑작스러운 종료를 막고 정상 동작할 수 있도록 처리하는 과정구분체크 예외비체크 예외처리 여부문법적으로 예외 처리를 강제함반드시 처리 해야 함문법적으로 강제하지 않음개발자의 판단에 의해 처리확인 시점컴파일 단계실행 ..

개발/Java 2024.07.16

JAVA_13_내부 클래스

#1 내부 클래스 (중첩 클래스)▶ 내부 클래스란?두 클래스 간에 서로 쉽게 접근하여 사용할 수 있도록 만든 것보통 바깥쪽의 클래스를 외부 클래스, 안쪽의 클래스를 내부 클래스라고 함내부 클래스에서도 접근 제한자를 부여해, 클래스의 접근에 대한 기능을 제한할 수 있음두 클래스 멤버들 간에 손쉽게 접근 가능불필요한 클래스를 감춰 코드의 복잡성을 줄일 수 있음public class OuterClass { class InnerClass { }} #2 내부 클래스 종류▶ 선언된 위치별 내부 클래스 종류메서드설명인스턴스 클래스외부 클래스의 멤버 변수와 같은 위치에 선언주로 외부 클래스의 멤버 변수와 관련된 작업에 사용될 목적으로 선언외부 클래스가 반드시 선언된 후, 인스턴스 클래스 생성정적 클래스외부 클래스의 멤..

개발/Java 2024.07.16
반응형