본문 바로가기

WEB의 속삭임/Server단의 외침

[JAVA][Spring]Factory * Spring은 객체를 bean으로 생성하여 관리 한다. 그래서 컨테이너가 필요한데 그래서 팩토리를 두고 있다. BeanFactory : 빈객체를 관리하고, 각빈 객체간의 의존관계를 설정 구현체 : XmlBeanFactory : 외부 자원으로 부터 설정 정보를 읽어와 빈 객체를 생성한다. ApplicationContext : 빈객체 라이프사이클, 파일과 같은 자원 처리 추상화, 메시지 지원 및 국제화지원, 이벤트 지원, xml스키마 확장을 통한 편리한 설정. 구현체 : ClassPathXmlApplicationContext : 클래스패스에 위치한 xml 파일로부터 설정 정보를 로딩한다. FileSystemXmlApplicationContext : 파일 시스템에 위치한 xml 파일로부터 설정 정보를 로딩.. 더보기
[Spring][기초]DI패턴 * 객체 의존성 표현 1. 클래스에 실제로 의존 객체를 지정 하는 방법.2. 의존성을 주입 하는 법(DI) : 조립기, 팩토리에서 조회 하는 다양한 방법으로 주입하는 방법 * DI 패턴 : 해당 용어는 다른 언어에서는 또 다르게 사용 될수는 있다. 하지만 의존성을 주입하는 방법은 달라도 주입한다는 것은 같다. * 왜하니? : 특정 단위로 테스트 하기위해 흔히 쓴다. 예를들어 객체가 서로 의존하면은 특정 객체를 테스트 하기위해서는 의존된 객체가 모두 준비 되어 있어야 된다. 하지만 의존성을 주입 형태로 변경하게 되면, 더미객체(몽크객체)를 주입하여 테스트를 하겠다는 것이다. 사실 자바를 예를 들면 자바만 사용하여 어플를 만든다면 의미 있다. 하지만 웹에서는 그다지..필요가 없다..난 왜 사람들이 스프링 스.. 더보기
[Java][성능]Statement 와 PreparedStatement의 차이 * 몰랐던 사실을 하나 배웠다. Statement와 PreparedStatement 차이 * 나는 두개를 그동안 구분 해서 사용했다. 인자가 필요한것은 PreparedStatement를 인자가 없는 것은 Statement을 사용했다.* 하지만 사용하는 이유가 나는 SQL인젝션을 방어 하기 위한 용도로, 또 소스코드를 깔끔하게 위해서(가독성)을 위해 사용 했었다. 하지만 성능상에도 이유가 있었다. * Statement 와 PreparedStatement의 성능상의 차이 Statement 와 PreparedStatement를 사용하게 되면 그냥 디비에 바로 요청 하는 것이 아니라 캐쉬를 확인 한후에 동일한 명령이 있으면 캐쉬에서 꺼내어 DataBase에 접근을 하고, 캐쉬가 없으면 실행 계획을 세우고 JDB.. 더보기