Spring Container Spring Containerspring 컨테이너는 Config를 담당하는 역할spring 컨테이너는 Config 방식으로 "어노테이션 기반 config" 와 "xml기반 Config"로 구성가능AnnotationContexthttps://docs.spring.io/spring-framework/docs/6.1.12/javadoc-api/org/springframework/context/annotation/AnnotationConfigApplicationContext.htmlClassPathXmlApplicationContexthttps://docs.spring.io/spring-framework/docs/6.1.12/javadoc-api/org/springframewo..
회원 예제 기획회원 저장 로직회원 저장회원 조회저장 방법메모리 저장DB 저장 구조도SOLID 규칙 적용멤버import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade){ this.id = id; this.name = name; this.grade = grade; }} 멤버서비스 인터페이스public interface MemberService { void join(Mem..
Spring Spring프레임워크 계의 봄이 왔다는 의미에서 "Spring"이라 명칭spring은 자바 언어 기반의 프레임워크이다.spring boot의 경우 spring의 초기 설정 및, tomcat이 내장된 상태의 프로젝트를 만들때 사용한다.객체 지향적으로 만들수 있도록 도와주는 역할 객체 지향이란?객체지향 특징추상화캡슐화상속성다형성객체지향 프로그래밍은 "유연하고 변경에 용이함" Spring은 객체 지향적으로 작성역할 (Interface) 와 구현 (Instance)를 따로 분리해서 생각해야한다.객체 지향 특징을 지키며 작성해야함추상화 : interface를 이용하여 역할(ex 자동차)에 필요한 메서드를 정의한다.상속성 : interface (또는 클래스)를 상속받아 구현체(ex 쏘나타, k5.. )..
POJO POJO ?Plain Old Java Object말그대로 , 순수 자바 객체를 이용한 프로그래밍 방법을 의미한다.EJB와 같은 프레임워크에 종속된 객체(상속, 인터페이스)가 아닌 순수 JAVA 객체를 이용하자는 뜻에서 생기게 됨(여러가지 종속된 객체의 경우 간단한 객체더라도 무거운 객체로 변경이 되기 때문에 비효율적이라고 판단)쓸데없는 부분들은 제거하고, 필요한 부분에만 사용하자 -> 의존성 주입 이용 (어노테이션) POJO 위반 사례 1. 미리 정의된 클래스의 확장public class Test extends javax.servlet.http.HttpServlet {...2. 미리 정의된 인터페이스의 구현public class Test implements javax.ejb.EntityBea..
EJB (Enterprise Java Beans) EJB ? Enterprise JavaBeans 는 oracle에서 표준기술로서 내놓은 "비즈니스 로직" 구현을 위한 방법으로 나온 기술이다.Bean은 객체라고 이해하면 좋을 것 같다.EJB는 이러한 Bean들의 재사용성을 높이고 편리한 개발을 추구했다.ex) webLogic , Jeus 등을 이용해 개발됨 Bean 종류Bean 종류세션 빈 (session Bean)DB 사용 없이 빈을 사용할때에 session Bean 사용주로, 비즈니스 로직 처리엔티티 빈 (Entity Bean)DB와의 상호작용을 위해 Entity Bean 사용Entity Bean은 DB의 Record를 담당하게 되고, Entity Bean 을 이용해서 해당 CRUD를 진행하게 된다..
1. 콜백함수2. 함수포인터를 사용할 경우3. 템플릿 사용 안할 경우4. 템플릿을 사용 할 경우콜백함수원하는 순간에 원하는 함수를 호출한다인자로서 동작을 넘길때 사용 (유용)함수 포인터의 경우 상태를 저장할 수 없으므로, 하드코딩해야한다 함수포인터를 사용할 경우class Item{public:public: int _rarity = 0; int _ItemId = 0; int _ownerId = 0;};bool FindByOwnerId_FUNC(const Item* item){ return (item->_ownerId == 100);}Item* FindItem(Item items[], int itemCount, bool(*selector)(const Item* item)){ for (int i = 0; i ..
1. 클래스 템플릿 2. 클래스 템플릿 특수화 3. 클래스 템플릿 다중 인자 클래스 템플릿templateclass RandomBox{public: T GetRandomData() { int idx = rand() % 10; return _data[idx]; }public: T _data[10];};int main(){ RandomBox rb1;}class 선언 위에 템플릿 선언class 내부에서 아직 미정된 타입인 부분에 템플릿 사용인스턴스 생성시, 처럼 타입 지정 클래스 템플릿 특수화templateclass RandomBox{public: T GetRandomData() { int idx = rand() % 10; return _data[idx]; }publ..
1. 함수 템플릿 형태 2. 함수 템플릿 특징 3. 함수 템플릿 특수화 함수 템플릿 형태//templatetemplatevoid Print(T a){ cout (50.f); //명시적으로도 가능 Print(50.f); Print(50.0); Print("Hello");}템플릿이 사용되는 함수 위에 template 정의template 또는 template다양한 타입을 받을 수 있는 형태template서로다른 A,B,C 타입 3개를 받을 수 있다templatevoid Print(T t, A a, B b){ cout (3.f, 50, 50.f); //명시적으로도 가능 } 함수 템플릿 특징장점코드 재사용성이 높다타입 안정성유연하게 코드 작성 가능단점복잡성 증가가독성 문제컴파일 시간 증가 함수 템플릿..
- Total
- Today
- Yesterday
- Spring
- JDBC
- SQL
- Java
- 백준
- 게시판 프로젝트
- 정렬
- 깊이우선탐색
- 예외처리
- 클래스
- 검증
- 우선순위 큐
- 타입변환
- 버블정렬
- DFS
- 알고리즘
- Thymeleaf
- BFS
- 게시판
- 티스토리챌린지
- HTML5
- bean
- stack
- 오블완
- 코딩테스트
- db
- 기술면접
- JSON
- 포트폴리오
- 이진탐색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |