본문 바로가기

Java29

[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] 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.
[Spring] @Component와 @Bean의 차이 Spring을 사용하다 보면 @Component와 @Bean을 사용헤보게 되고 둘 다 빈을 생성하는데 차이점에 대해서 궁금하게 되었습니다. @Bean @Configuration public class TestConfiguration { @Bean public String name() { return "MyName"; } @Bean public int age() { return 25; } @Bean은 외부 라이브러리 또는 이미 정의되어 있는 객체들이 서로 종속성을 가지고 있을 경우의 빈 등록에 사용하는 어노테이션입니다. 또한 반환 값이 바로 Bean으로 등록되며 이미 정의된 기본 객체를 재정의하거나 내가 만든 객체의 종속성을 위해 빈을 등록할 때 사용합니다. 즉, 메소드 단위에서 개발자가 외부 라이브러리 .. 2023. 10. 2.
[Spring] Spring Bean Spring Bean Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 부릅니다. IOC 사용자는 객체를 직접 생성하지 않고, 객체의 생명주기를 컨트롤하는 주체는 다른 주체가 됩니다. 즉, 사용자의 제어권을 다른 주체에게 넘기는 것을 IOC(제어의 역전) 라고 합니다. Java Bean과 차이점 1. Java Bean getter / setter public의 no-argument 생성자 모든 필드는 private로 getter와 setter를 통해서만 접근 가능 public class Payment { private String paymentCode; private int price public String getPaymentCode() { return paymentCode; } .. 2023. 10. 1.