본문 바로가기

Java495

[Java] Java EE, J2EE, Jakarta EE Java EE, J2EE, Jakarta EEJava 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.
[Java] JVM(Java Virtual Machine) JVM(Java Virtual Machine)Java 는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되기 위해선 OS 위에서 Java 를 실행시킬 무언가가 필요하다. 그게 바로 JVM이다.즉, OS에 종속받지 않고 CPU 가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터이다.Java 소스코드, 즉 원시코드(*.java)는 CPU가 인식을 하지 못하므로 기계어로 컴파일을 해줘야한다.하지만 Java는 이 JVM 이라는 가상머신을 거쳐서 OS에 도달하기 때문에 OS가 인식할 수 있는 기계어로 바로 컴파일 되는게 아니라 JVM이 인식할 수 있는 Java bytecode(*.class)로 변환된다.(Java compiler 가 .java 파일을 .class 라는 Java byte.. 2023. 2. 14.
[Java] String, StringBuffer, StringBuilder StringString클래스는 immutable(불변)하다는 특성이 있습니다. String클래스의 문자열을 저장하는 char[]을 보면 final로 선언되어 있다는 것을 확인할 수 있습니다.public final class String implements java.io.Serializable, Comparable, CharSequence { /** The value is used for character storage. */ private final char value[]; ...}그 때문에, 한번 할당한 문자열을 변경하는 것은 불가능하며, 더하기 연산을 하여 붙일 시 새로운 객체가 생성되어 재할당 됩니다.String s = "hello";System.out.println(s.has.. 2023. 2. 6.