STUDY/JAVA (3) 썸네일형 리스트형 @Transactional에 대해서 @Transactional은 스프링으로 개발을 하게되면 Service Layer에서 붙이게 되는 어노테이션이다.스프링(Spring) 프레임워크에서 트랜잭션 관리를 위한 선언적 방식이다.메서드 레벨, 클래스 레벨에서 사용할 수 있으며, 해당 메서드 또는 클래스의 모든 public 메서드에 트랜잭션을 적용한다. @Transactional가 붙은 메서드를 실행할 때스프링은 트랜잭션을 시작하고, 메서드가 정상적으로 종료되면 트랜잭션을 commit한다.만약 예외가 발생하면 트랜잭션을 rollback한다(즉, 비정상적인 종료로 인해 rollback이 발생할 경우에는 트랜잭션의 일부 작업만 데이터베이스에 반영되는 것을 방지해 데이터 일관성을 유지한다)트랜잭션이란?하나의 논리적인 작업 단위ex) 하나의 트랜잭션은 여.. JAVA-객체 지향 프로그래밍이란 객체 지향 프로그래밍( Object-Oriented Programming, OOP) 프로그래밍 패러다임 중 하나로, 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. OOP의 기본 구성 요소 클래스 같은 종류의 집단에 속하는 속성과 행위를 정의한 틀 같은 것. 다른 클래스와 독립적으로 디자인 해야한다. 객체 클래스의 인스턴스이다. 자신 고유의 속성을 가지며, 클래스에서 정의한 행위를 수행할 수 있다. 메서드 객체끼리 소통을 하는 방법 클래스로부터 생성된 객체를 사용하는 방법, 객체의 속성을 조작할 때 사용 인스턴스 : 소프트웨어 세계에서 구현된 실체 객체 : 소프.. JAVA-동작 원리 JAVA는 JVM(Java Virtual Machine)에서 동작하기 떄문에 호환되는 운영체제만 있다면 어떤 OS에서도 사용 가능하다. 자바 코드는 위의 그림과 같은 단계로 실행이 된다. 자바 코드로 파일을 작성한다. 자바 컴파일러(javac)를 통해 자바 바이트 코드(*.class 파일)로 컴파일한다. 컴파일된 바이트 코드(*.class)를 JVM의 클래스로더(Class Loader)에게 전달한다. 클래스로더는 동적로딩(Dynamic Loading)을 통해 필요한 클래스들을 로딩,링크하여 Runtime Data Area(JVM의 메모리)에 올린다. 실행엔진이 JVM 메모리에 올라온 바이트 코드들을 명령어 단위로 하나씩 실행한다. JVM의 내부 클래스 로더(Class Loader) 실행 엔진(Execut.. 이전 1 다음