Spring

SpringTotalProject (1)

산과잔 2020. 11. 19. 09:42

스프링 

DI (주입 -> 필요한 데이터 주입 -> 메모리 할당(생성 -> 메모리에 저장)

 

DI 

1. setterDi -> setXxx( ) -> DB 연결, 네트워크...

 -> <bean id="aaa" class=" "

        p : username= " "

        p : url = " "

        p : driverClassName = " " 

 

 

2. 생성자 DI -> 생성자의 매개변수 이용해서 주입 

       < bean id="bbb"

          class = " "

          c :  ip = " "

          c : db = " "

          table = " "

/> 변수의 값을 넣을것인가 매개변수의 값을 넣을것인가 

 

 

3. 스프링에 등록된 객체주소 주입 

 ---------------------------------------- @Autowired , @Resource 

class A -> new A ( )

 

class B 

{

     @Autowired

     A a;

}

 

----------->> 동작

set 매서드에 값을 넣으면  p:

 


XML 을 올렸을시 작성 순서 

 

1. XML 을 읽어서 등록된 클래스를 메모리 할당 (맵으로 저장을 한다  가장많이 사용하는 map : hashmap) 한 후

     key      주소  =   a       new A( ) 

   

  A a = new A( );

  A b = a ;

2. 필요한 값이 있으면 대입 없으면 대입 안함

  (setXxx( ),생성자)

3. method -> 생성시에 한번 -> init - method

                  소멸시 에 한번 -> destory-method

 

 

4. 프로그래머가 활용 ( 순서에 맞게 매소드 호출 사용 ) 

 

프로그래머는  순서에 맞게 매서드 호출 해서 사용한다 

필요한 위치에서 호출 한다 !

 

5. 소멸 ( 메모리 해제 ) 

스프링은 = 클래스 관리자 ( 내가 등록한 클래스만 관리 한ㄷr )

 

[목적]

* 결합성이 낮은 프로그램을 구현한다. 

* 유지보수가 편리함 . 

* 클래스가 독립적으로 수행 -> POJO 

 

class  A

class  B

class  C

 


 

1. 스프링 => 라이브러리를 로딩 (XML 을 POM.XML 로 시작함)

   메이븐 (라이브러리 관리, 프로젝트 관리, 배포 관리)

2. 클래스를 제작 -> 스프링에 등록( 관리 )  -----> XML ( application-context.xml ) 

3. 필요한 클래스를 연결 시켜줌 (주입)        -----> Annotation  [ @Autowired , @Resource ]

 

 

 

1. DL 등록된 클래스 찾기 (getBean ( ) = 웹에서는 자동 처리 ) 

   DI 필요한 데이터 수집 

[ 깃허브 OnLineSpringTotlaProject 에서 복붙하기  ]

매소드의 위치

JoinPoint

Before : 매소드 시작전

After : 무조건 호출 ( finally ) 

Around : 코딩 위 아래 

After - Throwing : catch 수행

 = 에러를 처리

After - Returning : 정상수행

 = 리턴값을 받아서 처리 

 

PointCut + JoinPoint = Advice ( 두개를 합쳐서 경고하겠다 ) 

Advice 가 여러개 -> Aspect

 

적용되는 포인트가 pointcut

 

 

 

 

MVC

[Controller] // 손님   ---->  [View] // 서빙(DispatcherServlet : 배달한다 .do)  --->  [Model] // 주방

        <---                                                     <---

 

.do 가 들어가면 요청하는 것임. 

 

[ Model ]

1. 기능 ( 메뉴 ) ---> @RequestMapping( 어떤 메뉴를 갖고갈지 정해야함 )

                              기능이 많아지면 느려져서 두개로 나눠짐

                          @GetMapping

                          @PostMapping 

   1-1   재료 : getParameter ( 사용자가 보내주는 것을 받음 ) 

   1-2 가공 : DAO 데이터베이스에서 갑을 받아서

    1-3 그릇    :    값을 보내줌 request.setAttribute( )

                                        model.addAttribute( )

   1-4 상차림 : 탁자 - JSP 

             차림 -> HTML , JSTL 

 

 

사용자 정보를 저장  (코로나 때문에 손님들 QR코드, 수기 로 저장함  ) -> Session

 

 

2. DAO 

JDBC

ORM ( Mybatis , hibernate,[신용평가] , JPA 

 


13 장 까지 해주심

 

 

 

15 장 중요함 

 

 

 

 

 

 

 

 

 

 

 

텐핑