SPRING -5.Controller

5.1. Controller Controller 클래스를 만들 때에는 인터페이스를 직접 구현, Controller 추상 클래스를 상속받아 구현, @Controller를 사용한 구현하는 방법이 있다. 보통 interface를 직접 구현하기 보다는 추상클래스를 상속받아 만들거나, @Controller를 사용하여 POJO(Plain Old Java Object) 형식의 소스 작업을 많이 한다. [ Spring Controller의 종류 및 설명 ] 5.2. Test Code 작성 [ TestController.java ] [crayon-5ad9aa4a8aa6e437281461/] 간단한 테스트를 …

Read more

SPRING -4. Spring MVC

4.1. MVC 4.1.1 Model 1 요청을 jsp나 servlet이 받아서 필요한 데이터를 호출하여 결과값을 출력하는 방식. 개발에 대한 지식을 쉽게 배울 수 있고, 개발시간이 빠르나, 화면과 로직이 섞여 있기 때문에 화면이나 코드가 복잡해지며, 유지보수가 어렵다. 4.1.2. Model 2 (MVC) 웹 어플리케이션의 개발 규모가 커지게 되고 Model 1 개발방식의 단점이 대두 되면서 해결책으로 나온 개발 방법. 하나의 …

Read more

SPRING -3. AOP

3.1. AOP (Aspect Oriented Programming: 관점 지향 프로그래밍) AOP의 필요성은 실제 개발에서 OOP(Object Oriented Programming:객체지향 프로그래밍)대로 프로그래밍 하더라도 모듈을 분리된 상태로 개발하기 힘든 경우가 발생하면서 생겨났다. 간단한 홈페이지를 만든다고 했을 때 OOP에 맞춰 프로그래밍하면 회원관리, 게시판 관리 등의 기능들이 각각의 클래스나 컴포넌트로 구성된 모듈로 개발된다. 각각의 모듈이 하는 역할은 다르지만, 트랜젝션이나 로깅 등의 공통 적으로 …

Read more

SPRING -2. DI (Dependent Injection)

2.1. DI (Dependency Injection:의존성 주입) Spring이 관리하는 객체를 DI를 통해 실제 소스에서 사용 가능하게 만들고 있다. DI에 대해서 설명하자면 다음과 같다. TestController에서 TestService에 있는 getMessage를 호출해 메세지를 받아오는 기능을 구현한다고 할 때 만들 수 있는 경우는 다음과 같다. 1) TestService 객체를 직접 생성 후 호출 [crayon-5ad9aa4a8af94049840158/] 2) DI를 통한 Bean 주입된 객체로 호출 [crayon-5ad9aa4a8af9a049889625/] 1번의 …

Read more

SPRING -1.SPRING 프레임워크 소개

1.SPRING 프레임워크 소개 Spring은 엔터프라이즈 급 어플리케이션을 위해 객체의 생명주기를 관리해주는 경량 컨테이너다. Spring은 웹에서만 쓰이는 프레임워크는 아니지만, 웹에서 많이 쓰이는 프레임워크이기 때문에 보통 Spring과 Spring MVC를 합쳐서 그냥 Spring이라 표현하는 경우가 대부분이다. 이 문서에서도 Spring과 Spring MVC를 쓰는 웹 프로젝트의 예제를 통해 설명하고자 한다. 1.1. Hellow World 1.1.1 프로젝트 생성 및 실행 [ 개발환경 …

Read more

JAVA -14. JDBC

14.1. JDBC(Java Database Connectivity) 14.1.1. JDBC(Java Database Connectivity) 란? Java에서 데이터베이스에 접속할 수 있도록 하는 자바 API 데이터베이스에서 자료를 쿼리 하거나 업데이트하는 방법을 제공 14.1.2. JDBC 프로그래밍 단계 JDBC 드라이버 로드 데이터베이스 연결 Statement 생성 SQL 문 전송 결과 리턴 데이터베이스 연결 해제 14.1.3. JDBC 프로그래밍 [crayon-5ad9aa4a8b282009198992/]

Read more

JAVA -13. 네트워킹

13.1. 네트워킹(Networking) 13.1.1. 서버(Server)/클라이언트(Client) 서버(Server) : 서비스를 제공하는 제공자 클라이언트(Client) : 서비스를 제공 받은 사용자 13.1.2. IP 주소 호스트를 구별하기 위한 고유 주소 값 버전 별로 주소 크기 및 형식 구분 ipv4(32bit) : 192.0.0.1 ipv6(128bit) : 2001:0DB8:0000:0000:0000:0000:1428:57ab 13.1.3. InetAddress, URL, URLConnection 클래스 [crayon-5ad9aa4a8b39b198711970/] 13.2. 소켓 프로그래밍(Socket Programing) 13.2.1. TCP/UDP TCP 특징 연결 기반(connection-oriented) 통신으로 데이터 …

Read more

JAVA -12. AWT, 애플릿

12.1. AWT(Abstract Window Toolkit) 12.1.1. AWT(Abstract Window Toolkit) 란? GUI(Graphical User Interface) 프로그래밍 도구 GUI 프로그래밍에 필요한 컴포넌트들을 제공 OS 컴포넌트를 사용 12.1.2. AWT 컴포넌트(Component) [crayon-5ad9aa4a8b526030759488/] 12.1.3. AWT 메뉴(Menu) [crayon-5ad9aa4a8b52e532780991/] 12.1.4. AWT 레이아웃(Layout) [crayon-5ad9aa4a8b532931045405/] 12.1.5. AWT 이벤트(Event) [crayon-5ad9aa4a8b535446817870/] 12.2. Swing 12.2.1. Swing 이란? AWT를 확장한 GUI 프로그래밍 도구 AWT보다 더 많은 컴포넌트들을 제공 OS 컴포넌트를 …

Read more

JAVA -11. 입/출력

11.1. 입/출력(I/O)과 스트림(Stream) 11.1.1. 입/출력 입력(Input)과 출력(Output)을 지칭 두 대상간에 데이터를 주고 받음 11.1.2. 스트림(Stream) 데이터를 입/출력 하는데 사용하는 통로 하나의 스트림으로 하나의 흐름만 제어(입/출력 동시 불가) 입/출력을 동시에 하려면 입력 스트림, 출력 스트림의 2개의 스트림 필요 11.2. 표준 입/출력(Standard I/O)과 파일(File) 11.2.1. 표준 입/출력(Standard I/O) 콘솔(consol) 화면을 통한 데이터 입출력 [crayon-5ad9aa4a8b7a9142523643/] 11.2.2. 파일(File) File …

Read more

JAVA -10. 스레드

10.1. 쓰레드(Thread) 10.1.1. 프로세스(Process)와 쓰레드(Thread) 프로세스(Process) : 실행중인 프로그램으로 리소스(resources)와 쓰레드(thread)로 구성 쓰레드(Thread) : 프로세스 내에서 실제 작업을 수행 멀티 쓰레드 : 하나의 프로세스 내에서 하나 이상의 쓰레드로 구성 10.1.2. 싱글 쓰레드와 멀티 쓰레드 [crayon-5ad9aa4a8ba61463024117/] 10.1.3. 쓰레드 우선순위 [crayon-5ad9aa4a8ba67364836550/] 10.1.4. 쓰레드 동기화 동기화(synchronized) : 하나의 쓰레드만 객체에 접근할 수 있도록 객체에 락(lock)을 걸어 데이터의 일관성을 …

Read more