본문 바로가기

Spring 프레임워크

Spring에서 illegal reflective access 경고문 해결 github.com/spring-projects/spring-framework/issues/22674 on JDK 11 - WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (file:/C:/Users/.../spring-core/ Error for Spring Boot 1.5.x (1.5.19.RELEASE, using the latest spring-core-4.3.22.RELEASE.jar) I have not seen this error before within previous boot 1.5.17.RELEASE. And frankly upgrade to the lates... github.com .. 더보기
Spring의 의존 자동 주입(@Autowired) 이전 포스트에서는 Spring 프레임워크에서 어떤 식으로 DI가 이루어지는지 간략하게 살펴보았다. 의존성을 주입하려면 직접 Bean 객체를 생성하는 메서드를 호출하여 생성자에 전달하거나 Setter 메서드를 사용할 수도 있겠지만 스프링 프레임워크 자체에서 이 의존성을 주입해줄 수도 있다. 이를 의존 자동 주입이라 하며 @Autowired나 @Resource 어노테이션을 사용한다. ... public class ChangePasswordService { @Autowired private MemberDAO memberDAO; ... 간단한 사용은 위와 같다. 그냥 의존 주입이 필요한 대상에게 @Autowired 어노테이션을 붙여주면 된다. 원래는 이 ChangePasswordService 클래스에서 Memb.. 더보기
Spring의 의존성 주입(Dependency Injection) 의존성 주입 스프링의 큰 특징 중 하나는 Dependency Injection(DI, 의존성 주입)을 지원한다는 것이다. 의존성 주입 자체는 스프링에 한정된 개념이 아니고 객체 간 관계를 다루는 방법 중 하나인데 일단 의존성이라는 것은 다음과 같다. public class MemberRegisterService { private MemberDAO memberDAO = new MemberDAO(); public long regist(...){ memberDAO.requestRegiest(...); ... } ... } 위의 MemberRegisterService 클래스에서는 MemberDAO 클래스의 객체를 직접 new 연산자로 생성하여 그의 메서드를 사용하고 있다. 이 경우 MemberRegisterSe.. 더보기
Spring의 ApplicationContext, BeanFactory 2021/02/12 - [프레임워크/Spring] - Spring의 @Configuration, @Bean Spring의 @Configuration, @Bean 스프링을 공부한지 얼마 안되서 아직은 모르는게 많다. 그래서 책을 읽어보면서 모르는 내용이 나오면 검색해서 알아보고 포스트를 작성하는 식으로 조금 꼼꼼하게 진행하고자 한다. 먼저 스프 haruhiism.tistory.com 지난번 포스트에서는 AnnotationConfigApplicationContext라는 것을 만들어서 Bean 객체를 받아와 메서드를 활용했다. 이 긴 이름의 객체는 ApplicationContext 인터페이스를 구현하는 클래스의 객체인데 이 인터페이스는 애플리케이션의 메시지, 환경 변수, 프로필, Bean 객체 조작 등 스프링.. 더보기
Spring의 @Configuration, @Bean 스프링을 공부한지 얼마 안되서 아직은 모르는게 많다. 그래서 책을 읽어보면서 모르는 내용이 나오면 검색해서 알아보고 포스트를 작성하는 식으로 조금 꼼꼼하게 진행하고자 한다. 먼저 스프링을 설치하고 예제로 작성했던 코드 중 일부는 다음과 같다. package basic; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppContext { @Bean public Greeter greeter(){ Greeter g = new Greeter(); g.setFormat("%s, Hello!"); return .. 더보기