728x90 분류 전체보기140 Inversion of Control Container ( Ioc Container ) ( 이전 글과 이어지는 내용입니다. https://cloakinghost.tistory.com/8 ) 작성한 XML 파일을 읽어오는 코드를 작성해보자 메인함수에 작성한 부분을 바꿀것이다 Exam exam = new ScoreExam(); ExamConsole console = new GridExamConsole(); console.setExam(exam); console.print(); ApplicationContext context = new ClassPathXmlApplicationContext("spring/di/setting.xml"); // ExamConsole console = (ExamConsole) context.getBean("console");// 변수의 이름으로 꺼내면 타입을 바꿔야함.. 2023. 6. 14. Dependency Injection ( XML ) ( 이전 글과 이어지는 내용입니다. https://cloakinghost.tistory.com/7 ) spring.di 패키지에 Spring Bean Definition file을 생성 setting.xml로 생성하였다 앞서 main함수 부분에서 선언한 부분을 xml을 사용하여 바꿔보록하자 xml 지시서를 사용하여 객체 생성과 조립을 요청할 것이다 이전 게시글 main함수의 일부이다 Exam exam = new ScoreExam(); // 바뀔 여지가 있다 설정으로 빼야한다 ExamConsole console = new GridExamConsole(); // Dependency // 바뀔 여지가 있다 설정으로 빼야한다 console.setExam(exam); // Injection // 결합관계도 바뀔 .. 2023. 6. 14. Dependency Injection ( 순수 Java ) ( 스프링 사용 방법이 아닌 개념에 관한 글입니다 ) 예제를 위해 패지키와 클래스를 만들었다. package spring.di.entity; public interface Exam { int total(); float avg(); } package spring.di.entity; public class ScoreExam implements Exam { private int kor; private int eng; private int math; private int com; public void setKor(int kor) {this.kor = kor;} public void setEng(int eng) {this.eng = eng;} public void setMath(int math) {this.mat.. 2023. 6. 14. Dependency Injection ( DI ) ( 스프링 사용 방법이 아닌 개념에 관한 글입니다. ) 종속성 주입 == 부품조립 A 클래스의 필드로 C클래스를 가질 때 C는 A의 부품이라고 표현할 수 있다. 또 C 부품을 2가지 관계로 분류할 수 있는데 1. 일체형 조립관계 2. 조립형 부품관계 아래 코드를 보자 public class A { // Composition has a : 일체형 관계 private C c; public A() { // 객체가 생성될 때 C를 생성하여 자신이 가진다 this.c = new C(); } public A(C c) { this.c = c; } } public class B { // Association has a : 조립형 관계 private C c; public B() {} public void setC(C c.. 2023. 6. 13. 인터페이스로 느슨한 결합 만들기 JDK11 본문의 소스코드를 바꾸지 않고 다른 객체로 바꾸는 방법 중 한가지이다 이해를 위한 간단한 예제이다 package useInterface.ex1; public class A { private X x; // has ~ a 관계 public void setX(X x) { this.x = x; } public void print() { System.out.println(this.x.total()); } } package useInterface.ex1; public class B implements X { @Override public int total() { return 30; } } package useInterface.ex1; public class C implements X { @Override.. 2023. 6. 13. The superclass "javax.servlet.http.HttpServlet", determined from the Dynamic Web Module facet version (4.0), was not found on the Java Build Path tomcat을 바꿀경우 종종 이런현상이 발생한다 방법 프로젝트 우클릭 - properties - java build path - libraries - classpath - addlibrary - server runtime - apache tomcat v9.0 - finish 그 후에 소스파일에 가서 ctrl + a ctrl + x ctrl + v ctrl + shift + s 2023. 5. 30. 이전 1 ··· 20 21 22 23 24 다음