분류 전체보기 188

Spring - 어노테이션의 장점 | TIL_154

https://www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 스프링 강의를 듣고 정리한 내용입니다 어노테이션 생성 계기 이전까지는 소스 코드를 바꾸지 않고 결합 상태를 변경을 하기 위해 xml에 설정을 따로 빼놓는 방식을 사용했다 생성할 객체를 B3로 바꾸기 위해서는 위의 설정을 바꾸어야 한다 ※ 객체를 바꾸었을 때 설정도 함께 바꿀 수 없을까? -> 코드에 메타데이터를 추가한다 -> 어노테이션을 사용하게 된 계기이다 스프링의 어노테이션 @Component 라는 어노테이션을 B2객체와 B3 객체에 붙이면 스프링이 코드를 읽은 후 객체화 한다 -> 최근에는 설정을 분리할 때 xml대신 어노테이션의 방식이 자주 사용된다. xml에서 구현한..

백엔드/Spring 2022.10.20

Spring - Collection 생성&목록 DI | TIL_153

https://www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 스프링 강의를 듣고 정리한 내용입니다 Program 클래스 ▷ exam을 참조하는 ArrayList 생성 //List exams = new ArrayList(); List exams = (List) context.getBean("exams"); exams.add(new NewlecExam(1, 1, 1, 1)); for(Exam e : exams) System.out.println(e); ▷ xml에서 ArrayList 생성하기 Program 클래스에서 exams.add(new NewlecExam(1, 1, 1, 1)); 코드를 xml로 변환하는 방법 ▷ setting.xml..

백엔드/Spring 2022.10.17

Spring - 생성자 DI | TIL_152

https://www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 스프링 강의를 듣고 정리한 내용입니다 Constructor를 이용한 속성 값 설정 NewlecExam 생성자 추가 public NewlecExam() { } public NewlecExam(int kor, int eng, int math, int com) { this.kor = kor; this.eng = eng; this.math = math; this.com = com; } 태그 추가 ▷ 문제점 : 각 객체에 해당하는 순서를 알 수 없다 해결법 1. index를 추가한다 2. index 대신 name을 사용한다 위의 태그를 사용하기 위하여 NewlecExam 클래스에 to..

백엔드/Spring 2022.10.12

Spring - 값 형식 DI | TIL_151

https://www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 스프링 강의를 듣고 정리한 내용입니다 값 형식 DI setting.xml에서 exam의 값을 설정할 때 setter를 이용하여 값을 주입할 수 있다 Exam exam = new Exam(); exam.setKor(20); exam.setEng(50); exam.setmath(80); 위의 코드를 xml 형식으로 변환한다 property 단일 태그를 이용한 방식 태그를 중첩하여 값을 할당할 수도 있다 20

백엔드/Spring 2022.10.10

Spring - IoC 컨테이너(ApplicationContext) | TIL_150

https://www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 스프링 강의를 듣고 정리한 내용입니다 IoC 컨테이너 이용하기 – ApplicationContext ApplicationContext 스프링에서 DI 지지서를 읽고 생성하는 객체이다 ApplicationContext 자체는 인터페이스이며, 이를 구현한 구현 객체 중 하나가 아래의 코드이다 ClassPathXmlApplicationContext("config.xml"); //xml이 실행될 위치를 적어넣는다 ApplicationContext의 종류 ClassPathXmlApplicationContext : 어플리케이션의 경로를 지정할 때 사용한다 FileSystemXmlAppl..

백엔드/Spring 2022.10.06

Spring - DI 지시서 작성(xml) | TIL_149

https://www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 스프링 강의를 듣고 정리한 내용입니다 스프링 DI 지시서 작성하기 객체를 결합하는 방식은 크게 2가지 방식이 있다 생성자를 통해서 주입받는다 setter를 통해서 주입받는다 setter를 이용하는 예시 Program 클래스 수정 public class Program { public static void main(String[] args) { //Entity 클래스 Exam exam = new NewlecExam(); //출력 클래스 //ExamConsole console = new InlineExamConsole(exam); //생성자로 주입 ExamConsole consol..

백엔드/Spring 2022.10.03

Spring - DI 실습 | TIL_148

https://www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 스프링 강의를 듣고 정리한 내용입니다 실습 Dependency를 직접 Injection하기 -> 부품을 조립하는 과정을 실습한다 DI를 위한 프로젝트 생성 – 성적계산 프로그램 실행을 위한 Program 클래스 생성 package spring.di; public class Program { public static void main(String[] args) { //Entity 클래스 Exam exam = new NewlecExam(); //출력 클래스 ExamConsole console = new InlineExamConsole(exam); console.print(); }..

백엔드/Spring 2022.09.30

Spring 이론 - DI, IoC | TIL_147

https://www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 스프링 강의를 듣고 정리한 내용입니다 DI(Dependency Injection) 객체를 생성하고 객체를 조립한다 Dependency들을 조립하기 1. 일체형으로 관계를 가진 경우 Composition has a class A { private B b; //종속 객체 == 부품 public A() { b = new B(); } } 2. 조립형으로 관계를 가진 경우 - 외부에서 생성하여 객체를 사용하는 방식을 사용한다 Association has a class A { private B b; public A() {} pulic void setB(B b) { this.b = b; ..

백엔드/Spring 2022.09.28

Spring 이론 | TIL_146

https://www.youtube.com/playlist?list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T 위의 스프링 강의를 듣고 정리한 내용입니다 Java EE(Enterprise Edition) 웹 개발을 할 수 있는 자바의 API로 분산형, 기업형 응용 프로그램이다 결합력을 낮추는 DI, DB 트랜잭션 처리, 로그 처리 등의 기능이 존재한다 -> 스프링이 이 기능들을 간편하게 수행한다 Java SE(Standard Edition) 일반적인 로컬 응용 프로그램이다 개발을 위한 API이다 웹 개발을 할 때 Enterprise 에디션을 설치한 적이 없지만 이를 이용한 기능을 사용할 수 있었다 이는 EE 대신 Spring을 사용하기 때문에 대체된 것이다 ** EE버전이 유료화가 진..

백엔드/Spring 2022.09.26

[해결] jsp에서 css, js 경로를 못 찾는 문제

환경 : java 11, Spring maven project [개요] webapp - resources - css - menu.css 파일을 index.jsp에서 읽지 못하는 문제가 생겼다 검색 키워드 : jsp css 적용 안됨 찾아본 해결법 1. 캐시 문제 캐시 문제인 경우 ctrl + F5를 눌러 새로고침을 하면 캐시가 삭제되어 css가 제대로 보인다고 한다 1-1. 캐시문제 2 css를 수정한 경우 이전 css가 실행될 수 있다 이 경우 경로 뒤에 쿼리스트링으로 버전을 붙여서 해결할 수 있다 ?ver=숫자 ?version=숫자 예시 -> 위의 방법은 css뿐만 아니라 js 문제에도 적용할 수 있다 2. servlet-mapping 지정하기 default *.js *.css *.jpg *.gif ..

개인기록 2022.09.23