일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 깃허브
- list
- 자바
- DI
- Spring 개발환경 설정
- react
- pom.xml
- 어노테이션
- java
- 리액트
- github
- 객체
- spring
- @Bean
- 빈
- @transactional
- mysql
- 자동주입
- 영속성 컨텍스트
- Spring legacy Project
- 의존성주입
- 상속
- 이클립스
- 스프링
- JVM
- 인터페이스
- 트랜잭션
- merge
- springboot
- 스프링 컨테이너
- Today
- Total
목록자바 (9)
DEVLOG
Java 파일 분리 xml1.xml 2.xml 3.xml처럼 1.java 2.java 3.java로 분리하는 것을 의미한다. 소스가 길어지면 유지보수가 어려워지기 때문에 분리하는 것이 좋다. 일반적으로 기능별로 구분하여 분리하여 Dao 및 Service객체 / DB관련기능들 / Util들로 분리한다. DB관련과 유틸관련으로 분리된 config 파일이 있다고 가정해보자. @Bean public DataBaseConnectionInfo dataBaseConnectionInfoDev() { DataBaseConnectionInfo infoDev = new DataBaseConnectionInfo(); infoDev.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:xe"); in..
어노테이션을 이용하여 스프링 설정파일을 applicationContext.xml 파일 대신 .java파일을 스프링 설정파일로 사용할 수 있다. .xml -> .java 변환방법 @configuration 어노테이션 (스프링 설정파일로 사용하겠다는 의미)과 @Bean 어노테이션(빈 객체로 사용하겠다는 의미)을 사용하며, 메소드 반환형은 .xml의 빈(Bean) 객체의 데이터타입, 메소드명은 빈(Bean) 객체의 id로 지정하면 된다. applicationContext.xml ↓ MemberConfig.java로 변환 @Bean // 메소드 반환형 : xml의 빈(Bean) 객체의 데이터타입, 메소드명 : 빈(Bean) 객체의 id public StudentRegisterService registerServ..

의존객체 선택이란? 다수의 빈(Bean) 객체 중 의존 객체의 대상이 되는 객체를 선택하는 방법 만약 스프링 컨테이너에 동일한 데이터타입의 객체가 2개 이상 있다면 자동 주입 대상 객체를 판단하지 못해서 Exception을 발생시킨다. 아래 코드들은 자동 주입 대상 객체를 판단하지 못하는 예시이다. appCtxUseAutowired.xml 어노테이션 사용을 위해 코드를 사용한다. 동일한 데이터타입(WordDao) 객체 3개가 있으므로 이러한 객체를 @Autowired 어노테이션으로 주입할 때 에러가 발생할 것임을 예측할 수 있다. WordRegisterServiceUseAutowired.java public class WordRegisterServiceUseAutowired { @Autowired pri..
1. 생성자를 이용한 의존 객체 주입 public StudentRegisterService(StudentDao studentDao) { this.studentDao = studentDao; } ↓ // studentDao 객체생성 // 해당 객체의 생성자는 studentDao 객체를 참조하겠다. 2. setter를 이용한 의존 객체 주입 public void setUserId(String userId){ this.userId = userId; } public void setUserPw(String userPw){ this.userPw = userPw; } ↓ set떼고 첫글자 대문자 -> 소문자 3. List타입 의존 객체 주입 public void setDevelopers(List developers)..

DI란? 의존성 주입을 뜻하며, 객체를 직접 생성하지 않고 외부에서 생성한 후 주입시키는 것을 말한다. 1. 자바 DI 하나의 Dao 객체 생성으로 DB 관련 모든 객체에 동일한 Dao를 주입하여 공통적인 객체를 사용한다. 아래 학사관리시스템 예시를 보자. StudentDao.java package ems.member.dao; import java.util.HashMap; import java.util.Map; import ems.member.Student; public class StudentDao { // DAO, Data Access Object private Map studentDB = new HashMap(); // StudentAssembler에 의해 하나의 DB객체만 생성되고, 공통으로 사용..

직접 폴더(java, resources)와 파일(pom.xml)을 만들어 이클립스에서 프로젝트를 import 해보자. 1. 우선 작업폴더가 C:\spring\pjt라고 가정하고, pjt 폴더 아래 testPjt001라는 프로젝트 폴더를 생성한다. 2. src 폴더 생성 후 src 폴더 아래 main 폴더 생성, main 폴더 아래 java, resources 폴더 생성 3. src와 동등한 위치에 pom.xml 파일 생성 (내용은 복붙하는 것이 오타를 방지할 수 있다.) 출처 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC_renew 자바 스프링 프레임워크(rene..
객체란? 사물이 아닌 객체 클래스가 따로 존재하고, 이를 의미함 모든 객체의 조상이므로 자바에서 모든 클래스는 암시적으로 Object 클래스를 상속받고 있음 모든 클래스가 공통으로 포함하고 있어야 하는 기능을 제공하기 위해서 존재 Archer.java public class Archer { String name; String power; // 생성자 public Archer(String name, String power) { // 매개변수 초기화 this.name = name; this.power = power; } public boolean equals(Object obj) { // temp는 Archer의 인스턴스화 Archer temp = (Archer) obj; // object가 Archer의 ..

인터페이스란? 추상클래스 개념과 흡사하나 설계의 본질에 더욱 가까운 구현 방법 자바에서 다중 상속을 구현하게 해주는 고급 기술 추상클래스는 추상 메소드 외에 멤버 변수나 일반 메소드를 가질 수 있지만, 인터페이스에서는 반드시 사전에 정의된 추상 메소드의 상수만을 가질 수 있음 [추상클래스 VS 인터페이스] 인터페이스 예제 Dog.java - 인터페이스 // 인터페이스 public interface Dog { // 추상메소드 선언 abstract void crying(); // 일반메소드 구현 안되므로, 어떠한 메소드가 존재하는 지만 알려주는 설계 역할만 함 public void show(); } Main.java - Dog.java를 interface - 상속과 마찬가지로 Add unimplemented..