Showing posts with label SpringFramework. Show all posts
Showing posts with label SpringFramework. Show all posts

Wednesday, August 9, 2023

누구나 쉽게 이해할 수 있는 Spring의 Bean 이야기

1장. Spring Bean이란 무엇인가? Spring Bean은 Spring Framework에서 객체를 관리하는 컨테이너의 기본 단위입니다. Spring Bean이 등록되면, Spring IoC(제어 역전) 컨테이너에 의해 생성, 조립, 관리되는 객체가 됩니다. 여기서 IoC는 객체 생성과 그 객체의 멤버 변수, 메소드 호출을 스프링이 대신 관리함으로써 개발자가 직접 객체를 생성해서 사용할 필요가 없어지는 개념입니다. Spring Bean은 주로 다음과 같은 장점을 제공합니다: 개발자의 코드를 모듈로 분리하여 코드의 재사용성을 향상시킵니다. 의존성 주입(Dependency Injection)을 통해 간의 낮은 결합도를 유지시킵니다. 스프링의 AOP(관점 지향 프로그래밍)와 함께할 수 있어,...

だれでも簡単に理解できるSpringのBeanについてのガイド

Chapter 1: Spring Beanとは何ですか? Spring Beanは、Springフレームワークでのオブジェクト管理の基本単位です。Spring Beanが登録されると、SpringのIoC(Inversion of Control)コンテナによって作成、組み立て、管理されるオブジェクトになります。IoCは、オブジェクトの作成やメンバ変数、メソッドへの呼び出しをSpringによって管理し、開発者が直接オブジェクトを作成する必要がなくなるコンセプトです。 Spring Beanの主な利点は次のとおりです。 開発者のコードをモジュール化し、コードの再利用性を向上させます。 依存性の注入(DI)を介してコンポーネント間の低い結合を維持します。 Spring AOP(アスペクト指向プログラミング)と組み合わせることで、ロギング、トランザクション管理、セキュリティなどの各種機能の実装を促進します。 ...

A Comprehensive Guide to Understanding Spring Beans for Everyone

Chapter 1: What is a Spring Bean? A Spring Bean is the basic unit of object management in the Spring Framework. When a Spring Bean is registered, it becomes an object that is created, assembled, and managed by the Spring IoC (Inversion of Control) container. IoC is a concept where the creation of objects and the calls to their member variables and methods are managed by Spring, eliminating the need...

Wednesday, June 14, 2023

Spring Frameworkでトランザクション伝播の使い方

Spring Frameworkのトランザクション管理:概要 Spring Frameworkは、ビジネスロジックの実装に集中しながら、データベース操作の整合性を確保するためのトランザクション管理機能を提供します。このプロセスの重要な要素は、トランザクションの伝播設定であり、新しいデータベース操作が既存のトランザクションとどのように関連付けられるかを制御します。 Springのトランザクション伝播設定の概要 Springは7つの異なるトランザクション伝播設定をサポートしています。各設定は独自の機能を持ち、トランザクションの特定の要件に基づいて使用されます: !-- --> (adsbygoogle = window.adsbygoogle || []).push({}); PROPAGATION_REQUIRED:デフォルトで最も一般的に使用される設定です。既存のトランザクションが存在する場合はトランザクションに参加し、存在しない場合は新しいトランザクションを開始します。 PROPAGATION_SUPPORTS:既存のトランザクションがある場合はトランザクションに参加し、存在しない場合はトランザクションなしで実行されます。操作のアトミック性を維持する必要がない場合に使用されます。 PROPAGATION_MANDATORY:この設定では、既存のトランザクションが必要です。トランザクションが存在しない場合は例外がスローされます。 PROPAGATION_REQUIRES_NEW:常に新しいトランザクションを開始し、既存のトランザクションを一時停止します。新しいトランザクションは完全に独立して実行されます。 PROPAGATION_NOT_SUPPORTED:トランザクションを必要としない操作に使用され、既存のトランザクションが一時停止された状態で実行されます。 PROPAGATION_NEVER:この設定は、トランザクションが存在しない場合にのみ実行され、トランザクションが存在する場合は例外がスローされます。トランザクション操作を実行しない場合に使用されます。 PROPAGATION_NESTED:既存のトランザクション内でネストされた方法で実行され、ロールバックは別途処理され、上位のトランザクションに影響を与えません。JDBC...

Springboot에서 TRANSACTION PROPAGATION 사용법

Spring 프레임워크 트랜잭션 관리: 개요 Spring 프레임워크는 데이터베이스 작업의 무결성을 보장하는 트랜잭션 관리 기능을 제공하며, 이를 통해 비즈니스 로직 구현에 집중할 수 있습니다. 이 과정에서 중요한 부분은 트랜잭션 전파 설정으로, 새로운 데이터베이스 작업이 기존 트랜잭션과 어떻게 연결되는지를 결정합니다. Spring의 트랜잭션 전파 설정 살펴보기 Spring은 일곱 가지 다른 트랜잭션 전파 설정을 지원합니다. 각 설정은 고유한 기능을 가지고 있으며 트랜잭션의 특정 요구 사항에 따라 사용됩니다: !-- --> (adsbygoogle = window.adsbygoogle || []).push({}); PROPAGATION_REQUIRED: 기본 설정이며 가장 일반적으로 사용됩니다....

Transaction Propagation in Spring Framework

Spring Framework Transaction Management: An Overview The Spring Framework offers transaction management features that ensure the integrity of database operations, thereby allowing you to concentrate on implementing business logic. A crucial part of this process is the transaction propagation settings, which control how new database operations are associated with existing transactions. A Look at...

Thursday, August 16, 2018

Maven Spring 프로젝트에서 'java.lang.NoClassDefFoundError' 오류 해결 방법

Maven Spring 프로젝트에서 'java.lang.NoClassDefFoundError' 오류 해결 방법 잘 동작하던 Maven 기반의 Spring 프로젝트에서 갑자기 'apache.util' 관련 패키지들이 사라지면서 패키징은 성공하지만 런타임에서 'java.lang.NoClassDefFoundError' 오류가 발생하는 문제를 경험하였습니다. 이러한 문제는 아무런 변경 없이 갑자기 발생하여 매우 당황스러웠습니다. 다행히도, 이 문제에 대한 해결책을 찾아냈습니다. pom.xml dependencies에 아래 내용을 추가하면 문제 없이 잘 작동합니다: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> ...

Friday, August 10, 2018

Spring MVC 웹 프로젝트에서 FCM 추가시 발생하는 404 에러 해결 방법

Spring MVC 웹 프로젝트에서 FCM 추가시 발생하는 404 에러 해결 방법 Spring MVC로 생성한 웹 프로젝트에서 Firebase Cloud Messaging(FCM)을 추가하려면, firebase-messaging-sw를 로드해야 합니다. 하지만 때때로 404 에러가 발생하여 서비스 워커(service worker)가 등록되지 않는 경우가 있습니다. 서비스 워커가 등록되지 않으면 토큰도 가져올 수 없습니다. 일반적으로, 예제에서는 프로젝트 root에 파일을 넣으면 된다고 안내하지만, 스프링의 특성상 로드할 리소스의 위치를 지정해줘야 합니다. 이를 위해 servlet-context.xml에 다음과 같이 위치를 지정할 수 있습니다. !-- --> (adsbygoogle = window.adsbygoogle...