Spring 관련 용어

Jason·2023년 9월 19일
0
post-thumbnail

내맘대로 해석하는 개발용어

POJO(Plain Old Java Object)

Bean 을 말한다.

@Data //lombok getter/setter/toString 외 추가
public class User {
    private String name;
    private int age;
}

Bean factory

Spring Container 를 구성하는 중요한 부분이다.
Bean 생명주기를 관리해준다.
의존성 주입을 해준다.
싱글톤 패턴으로 관리한다.

Component

재사용 가능한 모듈성, 독립성을 가진 시스템 구성 단위를 말한다.
Spring 에는 @Component Annotation 이 있으며, 클래스를 Spring Bean 으로 등록할 때 사용한다.
Spring 에 의해 생성, 관리되는 클래스로 명시하고 싶을 때 해당 주석을 사용한다.

Wiring

Spring container 가 여러 객체를 연결해주는 것을 말한다.

public class UserServiceImpl implements UserService {

//Field
@Autowired
private UserRepository userRepository;

}

DI (Dependency Injection)

의존성 주입이라고 용어가 참 어렵다.
내가 이해한 DI 란 A class 에서 B class 를 필요에 의해 사용하고 싶은데,
직접적인 new Constructor() 하면 coupling 이 심해져서 유지관리가 힘드니까
이런 행위들을 Spring 에 '외주' 맡기는 것으로 일단 생각하려 한다.

아래는 Wiring 과 DI 예시 코드이다.


// JPA 적용
@Service("userService")
public class UserServiceImpl implements UserService {

	//Field
	private final UserRepository userRepository;

	//Constructor
	@Autowired
	public UserServiceImpl(UserRepository userRepository) {
		this.userRepository = userRepository;
		System.out.println(this.getClass());
	}

	//Method
	public void addUpdateUser(User user) throws Exception {
		userRepository.save(user);
	}
profile
어제보다 매일 1% 성장하고 있습니다.

0개의 댓글