ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring #1
    Java/Spring 2023. 3. 16. 09:55
    • spring framework(spring legacy project)
      • STS개발도구
    • TDD(테스트 주도 개발)
      • 개발방법
      • 테스트케이스 작성
    • 객체 지향 프로그래밍 좋은 결과를 기대 할 때
      • 결합도 낮춤
        • DB나 다른곳에 넘기는 것
        • 게시글이 멤버의 ID를 가지고 있지만 DB가 아니면 상관 없는 상태가 되기때문에 DB에 대해 기본키를 주면서 결합도를 낮춘다
      • 응집도 높임
    • 스프링의 특징과 의존성 주입
      • 의존성 주입
        • 제어의 역전(Inversion Of Control)
          • Dependency Lookup(의존성 탐색)
          • Dependency Injection(의존성 주입)
        • 객체를 생성하는 방법
          • Board board = new Board();(결합도가 높음)
          • 다형성으로 생성(추상화 패턴)
            • BoardService service = new BoardServiceImpl();(결합도가 낮아짐)
          • 디자인 패턴(생성 패턴)
            • 싱글턴
              • Test test = Test.getInstance();
            • 팩토리 패턴
            • Class.forName("org.mariadb.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mariadb://np.ovmkas.co.kr:3306/sample_db", "SAMPLE", "1234");
            • 빌더 패턴
              • 느낌이 빌더랑 비슷하지만
              • 빌더 패턴
              • public static BoardBuilder builder(){ return new BoardBuilder(); } /** * 빌더 패턴 * @author SsoYoung * */ public static class BoardBuilder{ private Long bno; private String title; private String content; public BoardBuilder bno(Long bno){ this.bno = bno; return this; } public BoardBuilder title(String title){ this.title = title; return this; } public BoardBuilder content(String content){ this.content = content; return this; } public Board build() { return new Board(bno, title, content); } } public static void main(String[] args) { Board board = Board.builder().bno(1L).title("aaa").content("abcd").build(); System.out.println(board); }
            • 프로토타입
    • java Framework
    • ejb, struts, spring
    • @Autowired 인스턴스 생성
    • @contextConfiguration
    • @Component
    • @Controller
    • @Test
    • assertNotNull
    • 로그레벨
      • FATAL
      • ERROR
      • WARN
      • INFO
      • DEBUG
      • TRACE

    p-

    'Java > Spring' 카테고리의 다른 글

    Spring #7  (0) 2023.03.24
    Spring #5  (0) 2023.03.22
    Spring #4  (0) 2023.03.21
    Spring #3  (0) 2023.03.20
    Spring #2  (0) 2023.03.17
Designed by Tistory.