GDJ 24/04/16 (Spring MVC 기초)

kimuki·2024년 4월 16일
 - Model : DAO 영역 (Controller에서 View단으로 데이터 넘길 때 사용) ex) DB관련, CRUD
 - View : HTML, CSS 영역 (Controller에서 넘겨준 데이터를 화면에 뿌리기)
 - Controller : 사용자 요청 처리 영역 (DB데이터와 관계없이 서버에서 처리하는 영역)

 - oracle 19c
 - oracle database download
 - 이클립스에서 오라클 접근
 - 로컬에서 오라클 사용할거면 ojdbc11.jar 라이브러리 하나 추가해서 사용
 - /oraclejdbc/jdbcTest.jsp <-- 오라클 로컬 DB 연동 테스트

/oraclejdbc/DBHelper.java

package dao;

import java.sql.*;

public class DBHelper {
	
	public static Connection getConnection() throws Exception {
		
		// 오라클 DB 접근 클래스 로딩
		Class.forName("oracle.jdbc.driver.OracleDriver");
		System.out.println("드라이브 로딩 성공");
		
		// 로컬 DB 연동 테스트
		String dbUrl = "jdbc:oracle:thin:@localhost:1521:orcl";
		String dbUser = "admin";
		String dbPw = "java1234";
		
		/* 클라우드 DB 연동 테스트
		jdbc:oracle:thin:@접속문자열TNS?TNS_ADMIN=전자지갑폴더위치
		String dbUrl = "jdbc:oracle:thin:@접속문자열(TNS)?TNS_ADMIN=전자지갑폴더위치";
		String dbUser = "admin";
		String dbPw = "Cloud DB 비밀번호";
		*/
		
		Connection conn = DriverManager.getConnection(dbUrl, dbUser, dbPw);
		
		System.out.println("conn : " + conn);
		return conn;
	}
스프링

스프링 컨테이너 빈(Bean)
 - 스프링 프레임워크 안에서의 자바 객체를 의미

IoC 제어의 역전
 - 객체 사용을 위해 필요한 곳에 객체를 생성하여 사용하는 것이 아니라
 - 어딘가에서 객체를 가져와서 사용
 - 생성해서 사용하는 것과 가져와서 사용하는것은 엄연히 다름
 - 객체를 개발자가 new를 통해 직접 생성하는 것이 아니라
   스프링 프레임워크가 생성하고 관리하는 객체를 사용하게 됨 (Bean)
 - 그러한 Bean들을 모아 관리하는 곳이 스프링 컨테이너(BeanFactory, ApplicationContext)

DI 의존성 주입
 - 한 클래스가 다른 클래스에 의존하고 있다

 - B b = new B() 처럼 객체를 직접 생성하는 것이 아니라
 - @Autowired
	B b;		처럼 어노테이션을 이용해 객체(Bean)를 스프링 컨테이너에 주입
 - 스프링을 사용하면 new를 사용해 b 객체를 생성하지 않더라도 b를 객체로 사용가능
 - 어노테이션을 이용해 빈을 컨테이너에 주입하고, 컨테이너가 객체로 사용할 수 있게끔 만들어주기 때문

AOP 관점 지향형 프로그래밍
 - 핵심관점코드, 부가관점코드로 구분하여 프로그램의 변경과 확장에 유리하게 대응

PSA 이식 가능한 서비스의 추상화 (=인터페이스)
 - ex1) 클라이언트, 클래스, 메서드의 매핑을 위한 어노테이션
 - ex2) 같은 코드로 다른 WAS에서 코드 실행 가능 (톰캣, 언더토우, 네티)
profile
Road OF Developer

0개의 댓글