본문 바로가기
학원수업/3월

03/08 국비학원 개발자과정 69회차- POJO, Spring

by 코딩마스터^^ 2023. 3. 8.

오전 NCS시험

JSP예외처리문제 나옴.

https://dololak.tistory.com/480

 

[서블릿/JSP] JSP 예외 처리하기. isErrorPage 및 errorPage 옵션.

JSP 예외 처리하기 JSP에서는 페이지의 내용을 처리하다가 예외가 발생하는 경우 별다른 설정이 없다면 예외의 내용을 그대로 출력스트림인 out 객체로 출력하기 때문에 클라이언트(브라우저) 에

dololak.tistory.com

 

 

Spring 흐름 생각해보기!

 

POJO에서 

ActionSupport를 DispatcherServlet으로 한다.

 

3.SimpleURLHandler 에서 객체주입

Dependency injection

if나 switch문으로 깔때기로 걸러준다.

관리자 모드니? 주문처리 할거니? 로그인 할거니(AuthController)?

 

<Bean>태그는 의존성 주입

servlet-context.xml

Spring에서 Bean은 class이다. 

클래스 선언을 왜 한다? 의존성 주입을 위해서

Bean을 관리해주는 클래스

ApplicationContext-자식-> 필드와 메소드를 누릴 수 있다. 더많이 누림. 상속받았으니까. 부모꺼도 쓰고 내꺼도 쓰고.

BeanFactory-부모

Spring 은 클래스의 생명주기를 관리 해 준다.

객체주입을 해준다.

이른

게으른-

활동-service

소멸-destroy

https://newstartjoah.tistory.com/136

 

03/02 국비개발자과정- Pojo를 거쳐 Spring으로!

step1 void -> ActionForward -> 페이지 이동 Action 인터페이스 설계 doGet -> execute(req, res) doPost step2 - 좀 더 스프링스럽게..... ActionForward -> String 1)"redirect:XXX.jsp" or "redirect:XXX.sp2(입력,수정,삭제 처리 후 결과

newstartjoah.tistory.com

'

BeanFactory(스프링 컨테이너=엔진)는

Spring 프레임워크에서 Bean 객체를 생성하고, 관리하는 인터페이스입니다. BeanFactory는 DI(Dependency Injection)를 위해 사용됩니다.

BeanFactory는 다음과 같은 주요 기능을 갖습니다.

 

Bean 객체의 생성 및 관리

BeanFactory는 Bean 객체를 생성하고, 이를 관리합니다. Bean 객체는 Spring 컨테이너에 의해 생성되며, 컨테이너는 Bean 객체의 생명 주기를 관리합니다. BeanFactory는 컨테이너에 등록된 Bean 객체를 제공합니다.

 

DI(Dependency Injection)

BeanFactory는 DI(Dependency Injection)를 위해 사용됩니다. BeanFactory는 객체가 의존하는 다른 객체를 생성하고, 이를 객체에 주입합니다. 이를 통해, 객체 간의 결합도를 낮추고, 유연한 구조를 갖출 수 있습니다.

 

설정 파일에서 Bean 객체를 읽어옴

BeanFactory는 설정 파일(XML 또는 Java Config)에서 Bean 객체를 읽어옵니다. 설정 파일에 등록된 Bean 객체는 컨테이너에 등록됩니다. 이를 통해, 컨테이너는 설정 파일에 등록된 Bean 객체를 생성하고, DI를 수행합니다.

Spring에서는 BeanFactory를 구현한 여러 인터페이스가 제공됩니다. 가장 일반적인 BeanFactory 인터페이스는 ApplicationContext 인터페이스입니다. ApplicationContext 인터페이스는 BeanFactory 인터페이스의 모든 기능을 포함하며, 다양한 부가기능을 추가로 제공합니다. 자식이다.

 

게으른 인스턴스화-BeanFactory

이른 인스턴스화-ApplicationContext

 

코틀린 기반이 요즘 트렌드이다.

함수형이 트렌드이다.

WOW

 

Maven은 POM에 한다.(물리적인 위치)

gradle은 json에

legacy??

 

Bean태그에는 ID가 있다. 

ID=인스턴스 변수

class=패키지명을 포함한 클래스 이름 com.java.sdg뭐 이런식으로

 

타입

 

Logic을 spring-service.xml에 등록한다.

 

어떤 컨셉인지 어떤 역할인지를 정확하게 알아야 한다.

 

Dao는 자바의 맨 끝단이다.

MyBatis 강이 흐르고 있다. Oracle, Mysql과 같은 디비와 연결

no sql은 경량 디비이다. 나는 안씀

 

SqlSessionFactoryBean---->Spring에서 제공하는 연결하는 객체

Dao와 Sql사이에 스프링 데이터 xml에 등록이 되어있다.

자바와 xml 섞어쓰기이다. 왜? MyBatis를 사용하기 위해서는 자바와 xml 사이에 객체 주입이 필요하다.

이 자리에 Hibernate같은게 온다. 이런거 쓸때에는 SqlSessionFactoryBean만 바꾸면 된다.

 

커넥션을 해준다. 오라클 서버사이에!!!

SqlSessionFactoryBean

이걸 spring-data.xml에 등록한다.

여기에는 오라클 드라이버 클래스. 

ojdbc6.jar를 등록해줘야한다.

자바와  xml사이에 연결을 해주는것보다

xml끼리객체주입을 주고 받는것이 한수위이다.????

 

SqlSessionFactoryBean

 

SqlSessionTemplet은 mybatis-3.4.6.jar

라이프 사이클을 스프링이 관리해준다.

sqlsession템플릿 통해서 객체를 넘긴다. 오라클에서 받아서.

 

3가지 외우기!!!

myBatis에서 데이터 가져오는 방법

selectOne

selectList

selectMap

 

컨트롤에서 서블렛으로 값을 보낼때 2가지 방법이 있다.

1.스트링을 통해서 forward처리

2. ModelAndView

 

빌드 Path 하는법

자바 11로 계속 맞춰준다.

 

댓글