Spring Framework과정 Day3 - HiroSung/Study GitHub Wiki

Day3

Ch10. 의존성 주입

  • DispacherServlet은 WebApplicationContext 타입이다.
  • Bean 형태로 객체관리가 됨.
  • 태그 사용 (주의사항!)
    • 설정 파일을 수정하면 서버를 재시작 또는 어플리케이션을 디플로이 해야 적용됨
  • 외부 프로퍼티 파일(*.property)의 값으로 설정
  • 어노테이션(@)을 사용하기 위한 설정
    • 어노테이션 사용이 어려운 경우(외부에서 가져온 클래스의 경우. 관리객체로 등록하고 싶을때)가 있음. 이때는 Bean 태그로 정의해야 함.
  • 관리빈 설정 어노테이션 종류
    • @Autowired : 같은 객체 타입
    • @Resource : ID 타입으로 찾음. 업체에서 많이 사용함.
    • @Component : 클래스의 첫자를 소문자료 하고 ID로 등록하는데, 다른 ID로 하고 싶은경우 ("[ID]") 로 지정하면 됨. @Component("boardDao") public class Ch10BoardDao {
    • @Value : 필드위에 주입되면 바로 매핑이 됨. @Value("#{jdbc.driver}") private String driver;
    • 아래와 같이 되어 있는 것을 public void setBoardDao( Ch10BoardDao boardDao) { logger.info("실행"); this.boardDao = boardDao; } @Autowired 하면 자동으로 매핑되지만 @Resource(name="ch10BoardDao") ID를 주어서 매핑도 가능함. public void setBoardDao( Ch10BoardDao boardDao) { logger.info("실행"); this.boardDao = boardDao; }
  • 주입대상이 되는 것들은 @Component 로 하면 됨. (VO는 Component가 아님)
  • @Autowired는 필드주입과 Setter 주입이 가능함.
  • 필드주입 > Setter주입 > 생성자 주입 형태로 많이 활용 함.

Ch11. 데이터베이스 연동

  • DI의 연장선으로 있음.
  • Datasource를 WAS것을 이용하지 않고, Application을 사용하는 경우도 있음.
  • Application 마다 ConnectionPool보다는 WAS에서 정의의 공유하는 방식을 추천함.

MAVEN

  • mvnrepository.com 에서도 확인 가능

Q] Service 객체의 존재의이유?

⚠️ **GitHub.com Fallback** ⚠️