본문 바로가기

코딩 공부204

[Spring] 스테레오 타입 어노테이션 Spring 프레임워크 스테레오 타입 어노테이션 @Component 제네릭 어노테이션이며 모든 클래스에 적용이 가능합니다. 예를 들면 특정 클래스에 Spring Bean을 생성하려는 경우 사용합니다. 모든 스테레오 타입 어노테이션의 기초며 다양하게 나누어져 있습니다. 1. @Service @Service public class BussinessCalculationService { private DataService dataService; public BussinessCalculationService(DataService dataService) { super(); this.dataService = dataService; } public int finMax() { return Arrays.stream(dat.. 2023. 10. 9.
[Spring] Spring XML 설정 Spring XML 설정 Spring 프레임워크의 초기에는 Java 설정이 없고 XML 설정만 있었습니다. 그래서 이와 같이 XML 설정파일을 작성하여 Bean들을 생성했습니다. 그 후 public class XmlConfigurationLuncherApplication { public static void main(String[] args) { try (var context = new ClassPathXmlApplicationContext ("contextConfiguration.xml")) { Arrays.stream(context.getBeanDefinitionNames()) .forEach(System.out::println); System.out.println(context.getBean("na.. 2023. 10. 9.
[Spring] Jakarta Contexts and Dependency injection (CDI) Jakarta Contexts and Dependency injection (CDI) CDI 규격은 2009년 12월에 Java EE 6 플랫폼에 도입되어 지금은 Jakarta Contexts and Dependency Injection이라고 부르게되었습니다. CDI는 규격이고, 인터페이스이며, 구현이 없고 Spring Framework에서 CDI를 구현합니다. CDI에서 중요한 API 어노테이션 Inject (~ 스프링의 AutoWired와 비슷함) Named (~ 스프링의 Component와 비슷) Qualifier Scope Singleton etc.. 예시 코드 //@Component @Named class BussinessService { private DataService dataService.. 2023. 10. 6.
[Java] Java EE, J2EE, Jakarta EE Java EE, J2EE, Jakarta EE Java EE, Java 2EE, J2EE 또는 현재 Jakarta EE는 실제로 이들은 모두 동일한 것, 즉 Java SE를 확장하는 엔터프라이즈 사양 세트에 대한 다른 이름입니다. 역사 초기 Java 버전에서 엔터프라이즈 기능 대부분은 JDK (Java 개발 키트)에 Java 언어로 직접 구축되어 있었습니다. 하지만 시간이 지나면서 분리되었고, J2EE, 즉 Java 2 플랫폼, 엔터프라이즈 에디션에 따라 분리되었습니다. 서블릿, JSP, EJB 등 관련된 모든 표준이 새로운 J2EE(Java 2 플랫폼, 엔터프라이즈 에디션)에 따라 만들어졌고 JDK에서 분리되었습니다. 이후 J2EE는 Java EE가 되었고 J2EE를 Java EE, 즉 Java 플랫폼.. 2023. 10. 6.
[Spring] @PostConstruct와 @PreDestroy @PostConstruct PostConstruct 어노테이션은 초기화를 수행하기 위해 의존성 주입이 완료된 후 실행해야 하는 메서드에서 사용하며, 이 메서드는 클래스를 사용하기 전에 호출되어야 합니다. 다른 Bean이 이 Bean을 사용할 수 있게 되기 전에 이 메서드가 호출되며, 이때 애플리케이션이 실행되고 Bean이 로드됩니다. @Component class SomeClass { private SomeDependency someDependency; public SomeClass(SomeDependency someDependency) { super(); this.someDependency = someDependency; System.out.println("All dependencies are read.. 2023. 10. 6.
[Spring] Bean 스코프 싱글톤 스코프 기본적으로 Spring Framework에서 생성되는 모든 Bean은 싱글톤으로 생성됩니다. Spring IOC 컨테이너 당 객체 인스턴스를 딱 하나를 가지게 됩니다. 따라서 Spring IoC 컨테이너에서 같은 인스턴스를 다시 사용하고 싶다면 싱클톤 스코프를 사용하면 됩니다. @Component class NormalClass { } @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Component class PrototypeClass { } @Configuration @ComponentScan public class BeanScopesLuncherApplication { public static void main(String[] ar.. 2023. 10. 5.