BackEnd

1. Constructor Injection 스프링 컨테이너는 bean 객체 생성시 Default 생성자를 호출하여 객체를 생성한다. 이때 기본 생성자가 아닌 매개변수를 가지는 생성자를 통해 호출하도록 할 수 있는데 이 기능을 사용하여 Construction Injection을 처리할 수 있다. 먼저 아래와 같이 Car, Engine, Main 클래스가 있다고 하자. # Engine 클래스 public class Engine { public Engine() { System.out.println("Engine 생성"); } public void sound() { System.out.println("Brrrrrrr!!!"); } } # Car 클래스 public class Car { private Engin..
1. IoC (Inversion of Control) IoC는 Inversion of Control의 약자로 "제어의 역전"이라는 뜻이다. 일반적인 프로그래밍은 프로그래머가 코드로 직접 객체를 생성하고 호출하는 과정을 거친다. 이러한 제어 시스템이 역전되어 메서드나 객체의 호출을 개발자가 결정하는 것이 아니라 외부에서 결정되는 것을 제어의 역전이라고 한다. IoC의 장점으로는 다음과 같은 것이 존재한다. 객체간 결합도를 낮춘다. 가독성이 증진된다 코드 중복을 방지한다 유지 보수가 용이하다. 이러한 IoC의 핵심 원리는 스프링 프레임워크가 객체의 생성과 의존관계를 컨테이너가 자동으로 관리한다는 것이다. 이때 스프링은 IoC를 Dependency Lookup(DL), Dependency Injection(D..
1. 태그 Intellij에서 spring의 xml파일을 생성하면 아래와 같은 코드가 자동으로 생성된다. 위와 같이 스르링 설정 파일은 엘리먼트를 루트 엘리먼트로 사용한다. 이때 beans에는 bean이 사용할 라이브러리들을 정의할 수 있다. 는 , , , 등의 자식 태그를 가지며 주로 사용되는 것은 과 이다. 2. 태그 스프링 기반의 애플리케이션은 bean 객체 등록뿐만 아니라 트랜잭션 관리, 다국어 처리 등 여러 설정이 필요하다. 따라서 이런 설정들을 처리하는 경우 여러 파일로 나눠 설정하는데 이들을 하나로 통합할 때 를 사용한다. 사용법은 아래와 같다. 3. 태그 태그를 사용하면 스프링 설정 파일에 클래스를 등록할 수 있다. 이때 id와 class 속성을 부여하는데 id는 생략 가능하며, class..
1. 클래스 생성 먼저 아래와 같이 bean으로 등록할 클래스를 선언하자. package Exam1; public class SamTV implements TV{ public SamTV() { System.out.println("Create SamTV Object"); } @Override public void turnOn() { System.out.println("Turn on SamTV"); } @Override public void turnOff() { System.out.println("Turn off SamTV"); } @Override public void volumeUp() { System.out.println("Volume up SamTV"); } @Override public void v..
1. xml 파일 생성의 이유 IoC 컨테이너는 각 컨테이너에서 관리할 객체들을 위한 별도의 설정 파일이 있다. 예를 들어, Servlet 컨테이너의 경우 web.xml 파일을 통해 관리한다. 스프링 프레임워크도 다른 컨테이너와 동일하게 자신이 관리할 클래스들이 등록된 xml파일이 필요하다. 이 xml 파일이 바로 "applicationContext.xml" 파일이다. 2. Intellij 에서 설정 파일 생성 Intellij에서 먼저 maven project를 만들고 spring 관련 설정을 해주자. 그리고 /main/resources 파일을 생성하고 해당 파일을 우클릭하면 아래와 같은 창이 발생한다. 위와 같이 Spring Config를 선택하고 파일을 만들어주자. 그러면 아래와 같이 파일이 잘 생성..
· BackEnd
1. Tomcat 설치 Apache Tomcat 다운 및 설치 우리가 word 파일을 열어서 내용을 확인하기 위해서는 ms office의 word 프로그램이나 viewer가 필요하다. 웹 어플리케이션 역시 실행을 위해서 필요한 것이 있는데 그것이 바로 WAS(Web Application Server)이 ngp9440.tistory.com 2. Tomcat 연결 Intellij의 우측 상단을 보면 Add Configuration이라는 곳이 있다. 해당 부분을 클릭하면 아래와 같은 창이 발생한다. 좌측 상단의 +키를 누르거나 "Add new run configuration"을 클릭하자. 그리고 아래와 같이 [tomcat server]→[local]을 찾아 선택하자. 그러면 위와 같은 창이 뜨는데, Name ..
· BackEnd
1. MVC 패턴 MVC 패턴이란 Model-View-Controller의 약자로 소프트웨어 디자인 패턴 중 하나다. 해당 디자인 패턴은 model, view, controller 총 세 가지 구성요소를 가지는 데 이들은 아래와 같은 특징을 가진다. Model: 어플리케이션의 정보, 테이터를 나타낸다. 즉, 유저 정보 같은 것들이 이에 해당한다. 모델은 데이터의 상태가 변경되면 뷰 혹은 (가끔) 컨트롤러에게 알린다. View: 사용자가 볼 결과물을 생성한다. 즉, 사용자에게 받은 요청에 알맞는 결과물을 출력하는 역할을 담당한다. 뷰는 JSP, JSF, PDF, XML등으로 결과를 표현한다. Controller: 사용자의 요청에 응답하는 컴포넌트다. 모델 및 뷰를 업데이트하는 로직을 포함한다. 예를 들어,..
· BackEnd/Java
1. 추상 클래스란? 추상이란 실체 간에 공통되는 특성을 추출한 것을 말한다. 예를 들어, 우리는 개, 고양이, 햄스터 등의 실체에서 동물이라는 공통되는 특징을 추출할 수 있다. 이런 관계가 클래스에서도 존재하는다. 우리는 객체를 직접 샌서알 수 있는 클래스(개, 고양이, 햄스터 등)을 "실체 클래스"라고 부르며 이 클래스들의공통된 특성을 추출하여 선언한 클래스를 "추상 클래스"라고 부른다. 이때 실체 클래스는 추상 클래스를 상속받아 구현된다. 추가적으로 추상 클래스는 실체 클래스의 공통되는 필드와 메소드를 추출해서 만들었기 때문에 객체를 직접 생성하여 사용할 수 없다. Animal animal = new Animal() // 불가능 추상 클래스는 아래와 같은 목적을 가지고 사용한다. 실체 클래스들의 공..
코딩마루
'BackEnd' 카테고리의 글 목록 (7 Page)