티스토리 뷰

Spring

01.프로젝트 생성 / 오라클 DB연동

푸른하늘댁 2018. 1. 22. 14:08




출처: http://addio3305.tistory.com/36?category=772645 [흔한 개발자의 개발 노트]

스프링프레임워크


1. 스프링은 POJO (Plain Old Java Object) 방식의 프레임워크로서, 일반적인 J2EE 프레임워크에 비해 특정 라이브러리를 사용할 필요가 없어서 개발이 쉬우며, 기존 라이브러리의 지원이 용이합니다.


2. 스프링은 관점지향프로그래밍, AOP(Aspect Oriented Programming)를 지원합니다. 트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 적용되는데, 이런 코드들을 실제 비지니스 로직과 분리할 수 있도록 도와줍니다. 한때, AOP가 OOP(Object Oriented Programming)를 대체하는 기술로 생각되기도 했지만, 실제로 AOP는 OOP를 더욱 OOP스럽게 보완해 주는 기술입니다.


3. 스프링은 의존성 주입, DI (Dependency Injection)를 지원합니다. 이는 객체간의 의존관계를 관리하는 기술이라고 생각하면 됩니다. 어떤 객체가 필요로 하는 객체를 자기 자신이 직접 생성하는것이 아니라, 외부에 있는 다른곳에서 자신이 필요로 하는 객체를 주입받는것을 말합니다.


4. 스프링은 제어 반전, IoC (Inversion of Controller)를 지원합니다. 컨트롤의 제어권이 개발자가 아니라 프레임워크에 있음을 말합니다. 즉, 객체의 생성부터 모든 생명주기의 관리까지 객체의 제어권이 바뀐것을 의미합니다.


스프링의 가장 큰 특징은 

AOP  /  POJO  /  DI  /  PSA (Portable Service Abstraction)

를 꼽을 수 있습니다.












1. 스프링 프로젝트 생성


1. File > New > Other 를 선택한다.

2. Spring > Spring Project를 선택다.












3. 프로젝트의 이름을 입력하고, 

Spring MVC Project를 선택한다.

여기서는 최초의 스프링 프로젝트이니, 프로젝트의 이름을 first 로 지정하였다.










4. package를 입력한다. 

package는 최소 3레벨 이상 ( [1레벨].[2레벨].[3레벨] )로 구성하게끔 되어있다. 이는 자바 코딩 규칙 (Coding Convention을 찾아보면 확인할 수 있다.) 여기서는, "com.company.first"라는 package를 사용하기로 한다.











5. Finish를 누르면 프로젝트가 생성이 되고, 인터넷에서 스프링 프로젝트에 필요한 라이브러리를 자동으로 다운받기 시작한다.


↑ 위 스크린샷의 오른쪽 하단 구석에 있는 버튼을 누르면, 화면과 같이 라이브러리의 다운이 Background에서 이루어지며, 진행상황을 Progress View에서 볼 수 있다. 


우리가 생성한 Spring MVC Project에는 여러가지 라이브러리들이 필요한데, 프로젝트의 생성과 동시에 메이븐이 자동적으로 인터넷에서 필요한 라이브러리를 다운받는 과정이다. 











6. 다운로드가 완료된 것을 확인하고, 생성된 프로젝트에 에러가 없는것을 확인한다.


이와같은 프로젝트가 생성된다. 

본인은 Package Explorer에서 개발을 하는데, 사람에 따라서는 Project Explorer가 더 편하다고 이야기 하는 사람도 많다. 자신이 개발하면서 편한 View를 보며 진행하면 된다. 이 글에서는 앞으로 계속 Package Explorer에서 보이는 것을 기준으로 설명한다.


※ 만약 Package Explorer가 보이지 않는다면, 

1) Window > Open View > Other를 선택한다.

2) Package Explorer를 검색하여 추가한다.


※ 처음에는 왜 이렇게 많은 폴더가 생겼으며, 이러한 폴더들은 어떠한 역할을 하는지 한눈에 파악하기가 힘들다. 이 폴더 구조는 다음 글에서부터 전체적인 구조와 각 폴더의 역할을 설명한다.










1.1 Maven Dependencies

앞에서, Maven이 자동적으로 필요한 라이브러리를 받아온다고 했는데, 

그 받아온 라이브러리들은 Maven Dependencies라는 곳에서 확인할 수 있다.






이 프로젝트를 진행하며 필요한 라이브러리들이 다운받아진 것을 알 수 있다. 

그러면, 이 라이브러리들은 어디에 저장되어있는가?

라는 질문이 있을 수 있다.

그에 대한 답은,

예전에 우리가 개발환경을 설정하면서

Maven의 LocalRepository를 변경한 것을 기억한다면,

찾을 수 있을것이다. 

예전에 우리는 C:\dev\apache-maven-3.2.2 밑에

repository라는 폴더를 만들고,

LocalRepository를 변경하였었다.

그 폴더로 들어가보자. 



그러면 다음과 같이 몇몇 폴더가 생긴것을 알 수 있다. 


각각의 폴더에 우리가 필요한 라이브러리들이 위치한다. 

예를 들어, Maven Dependencies 맨 위에 있는 "spring-context-3.1.1.RELEASE.jar"를 찾아보자.  이 jar 파일은 org\springframework\spring-context\3.1.1.RELEASE 폴더에 위치하고 있다.



이런 식으로 인터넷에서 찾아온 라이브러리들이 관리된다.



그러면, 프로젝트 내에서

라이브러리의 추가 및 삭제, 관리는

어디서 되는지를 살펴보자.










1.2 POM.xml

1. pom.xml 파일을 더블클릭하여 열어보자.




그러면 다음과 같은 화면이 보이고, 

중간쯤에 있는 pom.xml 탭을 선택한다.




2. pom.xml을 확인하자. 



↑ 이와 같은 xml 파일을 볼 수 있다.

우리가 필요한 

라이브러리의 관리는 모두

pom.xml에서 관리한다. 


여기서 <dependency> </dependency> 라는 태그를 확인 할 수 있는데,

이 태그가 하나의 라이브러리를 의미한다.

만약 라이브러리를 추가하고 싶으면,

<dependency></dependency>라는 태그를 추가함으로써,

새로운 라이브러리를 추가할 수 있다. 

라이브러리를 추가하는 것은 추후 다시 설명하도록 한다.


--------------------------------------------------------------------------------------------








<<<오라클, 이클립스 DB연동>>>

1. 오라클 접속하여 새 접속 생성.

2. 드라이버 연결

이클립스 자바단ㅡ 리소스 (data/mapper파일 관리)단에서 db.properties 입력

3. cmd창을 열어 권한 부여하고 유저 생성

4. 오라클에서 접속하고 테이블 생성






↓3. cmd창 열기 방법

sqlplus system/0000;

grant dba to sw; //권한부여


spring 수업시간에 사용할 유저 : sw

create user sw identified by sw;




고객관리 처리

고객정보관리 테이블

create table customer(

id number(8),

name varchar2(50),

gender varchar2(3) default '남' not null,

phone varchar2(13),

email varchar2(50)

);


 → Table CUSTOMER이(가) 생성되었습니다.






create sequence seq_customer

start with 1 increment by 1;


 → Sequence SEQ_CUSTOMER이(가) 생성되었습니다.







create or replace trigger trg_customer

before insert on customer

for each row

begin

select seq_customer.nextval into :new.id from dual;

end;

/


 → Trigger TRG_CUSTOMER이(가) 컴파일되었습니다.























--------------------------------------------------------------------------------------------





customer.xml 파일 생성. (확장자 설정하지 않아도 xml)



CustomerDAO를 Interfaces.




















공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함