DAY_073[국비] 자바 웹프로그래밍 과정

Bona의 블로그 입니다.·2023년 1월 17일
0

국비과정

목록 보기
73/99

 🌞 Day 073 

  • Spring Frmaework, Bean, @Autowired



 🌙 용어 정리 

객체조립

  • 객체가 완성되기 위해서 다른 객체의 전달을 요구하는 상태 : 의존
  • 그 의존을 위해 객체가 제공되는 동작 : 의존 주입 ≒ 객체조립




 🌈 sp04 : Student 

  • DB연결하기
  • DB정보를 xml에서 처리하기

 🌙 DB : table 생성 

        create table student(
            sNum varchar2(20),
            sId varchar2(20),
            sPw varchar2(20),
            sName varchar2(20),
            sAge number(3),
            sGender varchar2(20),
            sMajor varchar2(80)
        );

 🌙 DB 연결 ⇒ pom.xml에 설정 


 🌙 class Student 

  • Dto 생성


 🌙 class StudentInsertService 


 🌙 class Dbman 


 🌙 class DatabaseConnectionInfo 


 🌙 class StudentSelectAllService 

  • 모든 학생을 조회하는 service

 🌙 class StudentSelectOneService 

  • 학생 한 명을 조회하는 service

 🌙 class StudentUpdateService 

  • 학생 정보를 수정하는 service

 🌙 MainClass 

  • 가장 먼저 만들었지만 service가 계속 추가되면서 코드 작성이 진행되었기 때문에 dao, bean 컨테이너와 같이 아래쪽에 정리하였음
  • 이번 코드 작성 순서
    Main에서 필요한 Service 생성 ⇒ Service작성(dao메서드 호출)
    ⇒ Dao에 호출한 메서드 작성 ⇒ 컨테이너에 Bean 생성


 🌙 StudentDao 

  • Dao 생성
    : 웹 X, 응용프로그램(사용자=1) ⇒ 싱글톤 사용 X


 🌙 applicationContext.xml 


 🌙 class EMSInformationService 

  • bean에 다양한 자료형의 property 넣기위한 연습용 객체




 🌈 Sp05 : WordSet 

  • @Autowired : 자동 주입
  • ' 근데, Annotation이 대체 뭔데...... 😭 '
  • Sp04에서 의존 상태인 객체에 직접 의존주입 or 객체주입을 했다면 Sp05에서는 Autowired라는 annotation을 이용하여 자동 주입이 되는 방식을 배워본다.

Autowired 란?

  • 필요한 의존 객체의 “타입"에 해당하는 빈을 찾아 주입하는 것
  • 스프링 컨테이너에 등록한 빈에게 의존관계주입이 필요할 때, DI(의존성 주입)을 도와주는 어노테이션

 🌙 class WordDto 


 🌙 class DataBaseUserInfo 

  • 얘부터 시작 이 클래스는 DB의 정보를 제공하는 클래스 Dbman이 요구하는 객체로 쓰일 예정


 🌙 appCtx.xml 

  • Autowired를 사용하려면 컨테이너의 설정 코드가 Sp04에서 사용하던 것과 달라지고 추가되는 것도 있음. (좀 더 길어짐)
  • 그래서 Autowired가 쓰이기 전에 먼저 컨테이너를 정리


 🌙 class Dbman 

  • DataBaseUserInfo가 필요한 클래스이다.
    Sp04에서처럼 전달인수로 받는 생성자를 만들지 않고 멤버변수에 @Autowired만 써서 객체조립이 되도록 할 수 있다.


 🌙 class WordInsertService 

  • WordDao의 객체가 요구되는 클래스이다.
  • #1은 생성자에 @Autowired를 붙인 방식이고,
    #2는 멤버 변수에 붙인 방식이다.
  • @Autowired를 사용하는 방식은 3가지가 있다
    생성자주입, 수정자주입(setter에 표시), 필드주입(변수에 표시)
    생성자주입(#1)이 가장 권장되는 방식이라고 한다.
    (검색해서 공부한 바로는...)


 🌙 class WordDao 


 🌙 MainClass 


 ⭐ 정리 

  • Sp05는 작성 도중 수업이 끝나서 내일 이어서 service를 더 추가할 예정
  • Autowired가 잘 이해가 안되어서 검색으로 공부했지만 아직 완전히 이해하지는 못한 것 같음
  • Annotation부터 개념을 잡아야 할 듯





profile
제가 공부하고 공유하고 싶은 글을 올리고 있습니다.

0개의 댓글