반응형
SMALL
반응형
LIST
SPRING SECURITY: 사용자 정의 가능한 인증 및 액세스 제어 프레임워크1. 로그인, 로그아웃, 역할 기반 접근 제어 기능을 제공하여 강력한 인증 및 권한을 부여할 수 있다.2. SQL Injection, CSRF, XSS(크로스사이트 스크립팅) 등의 보안 위협을 방지해준다.3. 다양한 인증 방식(JWT, OAuth2, SAML 등)과의 연동 가능하다.4. Spring Security의 필터 체인으로 요청을 보호한다. 인증사용자가 로그인을 하면 그 사용자의 신원을 확인해야한다. LDAP, OAUTH 2.0, JWT등 사용자의 신원을 인증하는 방식을 지원한다.권한 부여특정 URL이나 API에 대한 접근 권한을 제어한다. 예를 들면, 학교 반 선생님들이 학교 홈페이지에서 반 학생들의 정보를 볼 수 ..
Spring IoC(제어의 역전) 컨테이너는 스프링 프레임워크의 핵심 구성 요소로, 애플리케이션의 객체 생성, 초기화, 설정 및 생명주기를 관리합니다. IoC(Inversion of Control)는 애플리케이션의 각 구성 요소의 생성과 의존성을 코드 내부에서 직접 관리하지 않고, 컨테이너가 대신 관리하게 하는 디자인 원칙입니다. Spring IoC 컨테이너는 이 원칙을 따르며, 주로 ApplicationContext 인터페이스를 통해 구현됩니다.Spring IoC 컨테이너의 주요 역할객체 관리: 애플리케이션에서 사용할 객체(빈, Bean)를 생성하고 관리합니다. 객체의 생명주기를 담당하며, 생성 시점과 소멸 시점을 제어합니다.의존성 주입(DI): 객체가 필요로 하는 의존성을 외부에서 주입하여 결합도를 ..
의존성 주입(Dependency Injection)은 객체 간 결합을 줄이고 코드의 유연성과 테스트 용이성을 높이는 중요한 설계 패턴이지만, 몇 가지 문제나 주의할 점이 있어요. 이를 살펴보겠습니다.1. 순환 의존성(Circular Dependency)문제: 순환 의존성은 A 빈이 B 빈을 필요로 하고, B 빈이 다시 A 빈을 필요로 하는 상황이에요. 순환 의존성이 발생하면, 스프링이 두 빈을 생성할 수 없어 애플리케이션이 실행되지 않거나 에러가 발생할 수 있어요.해결 방법: 보통 설계를 변경해 순환 의존성을 제거하거나, 일부 의존성을 @Lazy로 지연 로딩하여 문제를 피할 수 있습니다. 또, 인터페이스로 추상화하여 순환을 피할 수도 있어요.2. 빈 라이프사이클 관리 문제문제: 스프링이 빈을 관리하지만,..
Spring에서 "빈(Bean)"이란 스프링 컨테이너가 관리하는 객체를 뜻해요. Spring Framework에서는 객체의 생성, 초기화, 관리, 소멸 등을 자동으로 처리해 주기 때문에, 개발자는 객체를 직접 생성하고 관리할 필요 없이 필요한 곳에 빈을 주입받아 사용하기만 하면 돼요.빈의 주요 개념객체 인스턴스: 빈은 결국 Java 객체를 말해요. 하지만 단순 객체와는 다르게, 스프링 컨테이너에서 만들어지고 관리되는 객체예요.DI (Dependency Injection): 스프링은 필요한 빈을 자동으로 주입해 주는 DI 기능을 제공해요. 예를 들어, 어떤 클래스가 다른 클래스(빈)에 의존한다면, 스프링이 자동으로 그 클래스를 주입해 주어서 객체 간의 의존성을 해결해요.싱글톤(Singleton): 기본적으..
Hibernate는 JPA의 대표적인 구현체로, ORM의 원칙에 따라 동작하며, MyBatis와 달리 SQL 생성과 데이터베이스 작업을 자동화합니다. MyBatis는 SQL을 개발자가 작성하도록 설계된 매퍼이기 때문에, 직접 SQL 작성이 필요합니다.HibernateHibernate는 JPA(Java Persistence API)의 구현체로, 자바 객체와 데이터베이스 테이블 간의 자동 매핑을 제공하는 완전한 ORM 프레임워크입니다.주요 특징객체-관계 매핑(ORM) 자동화: 자바 객체와 데이터베이스 테이블을 매핑하여 SQL을 직접 작성하지 않고도 데이터베이스와 상호작용할 수 있습니다.JPA 표준 구현: JPA 인터페이스를 통해 객체지향적인 방식으로 데이터베이스 작업을 할 수 있습니다.자동화된 CRUD: s..
ORM은 객체-관계 매핑이라는 뜻으로, 객체 지향 프로그래밍 언어에서 사용하는 객체와 데이터베이스의 테이블 간의 데이터를 자동으로 변환해 주는 기술이다. 간단히 말해 , 자바나 파이썬 같은 객체 지향 언어에서 사용하는 객체들을 데이터베이스의 테이블과 매핑하여. 객체와 데이터베이스 간의 데이터를 쉽게 저장하고 불러올 수 있게 해주는 도구 입니다.ORM의 필요성객체 지향 언어와 관계형 데이터베이스는 서로 다른 개념을 가지고 있습니다:객체 지향 언어에서는 데이터를 객체로 관리합니다.관계형 데이터베이스에서는 데이터를 테이블로 관리합니다.이 두 개념을 직접 연결하려면, 개발자가 객체를 테이블 형태로 변환하거나 SQL을 작성해야 합니다. 이를 매번 수동으로 처리하는 것은 번거로울 뿐만 아니라, 유지보수가 어렵고 코..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.