본문 바로가기

Java464

[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.
[JSP] EL(Expression Language) EL(Expression Language)자바 빈의 프로퍼티, 값을 JSP의 표현식 이나 액션 태그 를 사용하는것 보다 쉽고 간결하게 꺼낼수 있게 하는 기술이다. 또한 static 메소드를 호출할 수도 있는데 JSP에서는 주로 서블릿 보관소(JspContext, ServletRequest, HttpSession, ServletContext)에서 값을 꺼낼 때 사용한다.EL 표기법1. ${ }- JSP가 실행될 때 즉시 반영된다. (Immediate evaluation)- 객체 프로퍼티 값을 꺼낼때 주로 사용한다.2. #{ }- 시스템에서 필요하다고 판단될 때 그 값을 사용한다. (Deferred evaluation)- 사용자 입력값을 객체의 프로퍼티에 담는 용도로 주로 사용한다.EL에서 보관소 검색 범위.. 2022. 11. 12.