웹 개발을 하는 사람이라면 웹 개발에 절대 빠질수 없는 데이터베이스 연결에 대한 이야기이다. 이 Mybatis 연동은 개발의 사전준비라고 생각하면 된다.


1. Mybatus 란?




친절히 홈페이지에 설명 되있는 건데 쉽게 설명해서

기존에 JDBC를 이용하여 프로그래밍을 하는 방식에 비해서 MyBatis는 개발자의 부담을 굉장히 많이 덜어주고, 생산성 향상에도 도움이 된다.

기존에 JDBC를 이용하여 프로그래밍을 하는 방식은 프로그램 소스안에 SQL문을 작성하는 방식이었다.


2. Mybatis 라이브러리


스프링에서 MyBatis를 사용하려면 라이브러리가 필요하다. 

우리는 이미 Maven을 이용하여 라이브러리를 관리하기 때문에, 라이브러리의 추가가 굉장히 쉽다.

pom.xml에 다음을 추가한다. 



여기까지가 공통으로 들어가는 라이브러리고 사용하는 DB에 따라서 추가할 라이브러리가 약간 다르다.


1) MySQL 사용할 경우



이 코드만 추가 해주면 된다.


2) Oracle 사용할 경우

오라클의 경우 손이 더간다. 솔직히 말하면 나같은 초보자는 훨씬 더 간다!

그렇다고 오라클을 비추 하진 않는다 오히려 추천 한다.

ojdbc.jar 파일을 검색할 경우 다음과 같이 dependency가 나오는데 실제로는 다운 받을 수 없다 ㅠㅠ. (막히는 분들이 많을텐데)



이 부분을 이렇게 바꿔준다.


 

하지만 이렇게 바꾼다 해도 에러가 계속 뜰텐데 ;;

상단의 <properties> 부분에 다음과 같은 코드를 추가한다.



에러를 일으키는 ojdbc를 다운 받을 수 있는 Repository를 수동으로 등록한다.


3. Mybatis와 DB(데이터베이스) 연결 설정


Mybatis와 DB를 연결하는 방법을 살펴보자.


1) src/java/resource 폴더 밑에 config > spring 폴더를 만든다.


2) spring 폴더 안에 context-datasource.xml 파일을 만든다.



위와 같은 구조로 만들어준다.


3) web.xml에서 위의 설정파일을 읽도록 되어있는지 확인한다.

web.xml의 하단에 다음의 코드가 있어야한다.




이는 최초 서버가 시작될 때, 해당 위치에 있는 context 파일을 모조리 읽어들이는 것을 뜻한다. 

xml 태그에서 알 수 있듯이, contextConfigLocation을 설정하고, 그 위치는

위에서 만들었던 config > spring 폴더에 있는 context-로 시작하는 모든 xml 파일을 의미한다. 

앞으로 스프링 관련 여러가지 설정파일이 있기 때문에, 위와같이 설정파일을 읽어올 수 있도록 하였다.

 

 

4) Mybatis 연결 설정을 하자.

4-1) MySQL 의 경우 - context-datasource.xml

 

 <?xml version="1.0" encoding="UTF-8"?>

     
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://주소/스키마"/>
        <property name="username" value="아이디"/>
        <property name="password" value="비밀번호"/>
    </bean>
</beans>

 

별달리 여려운 설정은 없을것이라고 생각한다.

url에서 MySQL이 설치된 서버의 주소와 사용할 DB 스키마를 적어주면 된다. (개인PC에서 개발할 경우 localhost/스키마 또는 127.0.0.1/스키마 로 적어주면 된다.)

 

 

오라클의 경우도 별다를건 없다. MySQL과 다른거는 dataSource의 class와 url이 다르다. 그 점을 자세히 보길 바란다. 


<?xml version="1.0" encoding="UTF-8"?>
     
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
        <property name="username" value="아이디"/>
        <property name="password" value="비밀번호"/>
    </bean>
</beans>

(오라클의 경우 보통 Oracle 10g XE 또는 Oracle 11g XE 를 깔아서 연습하기때문에, 그에 맞춰서 소스를 썼다. 실제 오라클 엔터프라이즈의 경우 localhost 대신 IP 주소, XE 대신 사용하는 DB 스키마를 적어준다.)


 

4. MyBatis와 Spring의 연결

1) resource 폴더에 mapper 폴더를 생성한다.


2) resource > config > spring 폴더에 context-mapper.xml 파일을 생성한다.


3) context-mapper.xml 파일에 다음의 내용을 작성한다.


<?xml version="1.0" encoding="UTF-8"?>
 
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="mapperLocations" value="classpath:/mapper/**/*_SQL.xml" />
    </bean>
     
    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSession"/>
    </bean
</beans>


몇가지 살펴보자.

6번째 줄의 property의 name과 ref가 dataSource로 정의되어있다. 

이 두가지는 같은것을 의미하지 않는다. name은 위에서 등록한 sqlSession 빈(bean)에서 사용할 이름이 dataSource이고, ref의 dataSource는 우리가 context-datasource.xml에서 정의한 빈(bean)을 참조하는 것을 의미한다. 


7번째 줄의 mapperLocations는 앞으로 우리가 작성할 SQL문이 위치할 장소이다. 여기서 classpath:/mapper/**/*_SQL.xml 이라는 정의를 살펴보자. 


앞에서 web.xml에서 spring context 설정파일을 읽어오기 위해서 classpath*:config/spring/context-*.xml 라고 정의했던것을 기억하자.


앞으로 우리는 다양한 SQL 파일을 만들것인데, 그것을 일일이 등록해서 사용할 수는 없다. (원래는 xml 파일에 XML도 bean으로 설정해야한다.) 그렇지만 다양한 사람들이 작업하는 프로젝트의 특성상, 그것을 일일이 등록할 수 없고, 할 수 있더라도 귀찮은 일이다. 따라서 서버가 시작될 때 자동으로 SQL이 정의되어 있는 XML 파일도 읽어오도록 하는것이 필요하다. 

따라서 SQL이 위치할 mapper 폴더를 잡아주고, 그 안에 모든 폴더를 의미하는 **를 붙여준 후, 마지막으로 _SQL로 끝나는 모든 xml 파일을 읽어주도록 한다. 

여기서 중간에 ** 를 붙인 이유는, 유연한 폴더구조의 변경을 위해서 이렇게 작성했다. 예를 들어 mapper > first > *_SQL.xml 와 mapper > first > second > *_SQL.xml 은 다른 경로이다. (mapper 폴더 밑에 first, second 라는 이름의 폴더가 있는 경우를 의미)

우리는 앞으로 게시판에 관련된 쿼리만 작성하겠지만, 실제 프로젝트에서는 굉장히 많은 패키지가 생성되기 때문에 2,3단계로 구분된다. 그것을 유연성있게 대처하도록 해줬다. 


마지막으로 10번째 줄의 sqlSessionTemplate은 마이바티스 스프링 연동모듈의 핵심이다. SQLSessionTemplate은 SqlSession을 구현하고, 코드에서 SqlSessoin을 대체하는 역할을 한다. 실제 코드에서 어떻게 사용하는지를 나중에 보면서 다시 이야기해보자.


5. DAO 작성


마지막으로 실제 소스에서 위에서 선언한 SqlSessionTemplate을 사용할 DAO를 만들어주자.

DAO는 Data Access Object의 약자로, Data Access Object를 Factory 패턴화 시키는 것으로, 비즈니스 로직을 모듈화 하는 방법이다. Factory 패턴이 무엇인지 잘 모르면, 디자인 패턴에 대해서 공부하면 좋다. 여기서는 디자인 패턴에 대한 설명은 생략하고 어떻게 사용하는지만 보도록 하겠다. 


1) src/main/java 폴더의 first > common 패키지 밑에 dao 패키지를 생성한다.


2) dao 패키지 안에 AbstractDAO.java를 생성한다.



3) AbstractDAO에 다음 소스를 작성한다.


public class AbstractDAO {
    protected Log log = LogFactory.getLog(AbstractDAO.class);
     
    @Autowired
    private SqlSessionTemplate sqlSession;
     
    protected void printQueryId(String queryId) {
        if(log.isDebugEnabled()){
            log.debug("\t QueryId  \t:  " + queryId);
        }
    }
     
    public Object insert(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.insert(queryId, params);
    }
     
    public Object update(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.update(queryId, params);
    }
     
    public Object delete(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.delete(queryId, params);
    }
     
    public Object selectOne(String queryId){
        printQueryId(queryId);
        return sqlSession.selectOne(queryId);
    }
     
    public Object selectOne(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.selectOne(queryId, params);
    }
     
    @SuppressWarnings("rawtypes")
    public List selectList(String queryId){
        printQueryId(queryId);
        return sqlSession.selectList(queryId);
    }
     
    @SuppressWarnings("rawtypes")
    public List selectList(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.selectList(queryId,params);
    }
}


간단히 살펴보자. 

우리가 앞에서 SqlSessionTemplate을 설정하였고, 이는 SqlSession을 대체한다고 이야기 했었다.

5번째 줄에 SqlSessionTemplate을 선언하고 여기에 Autowired 어노테이션(Annotation)을 통해서 xml에 선언했던 의존관계를 자동으로 주입하도록 하였다. 


쿼리는 sqlSession.메서드를 호출하면 되는데, 여기서는 앞으로 개발할때, 좀 더 보기편하게 로그를 남기기위해서 AbstractDAO를 만들어서 insert, delete, update, select 메서드를 재정의 하였다. 


실제 개발에서는 각 비즈니스 로직을 담당할 DAO를 생성하여 AbstractDAO를 상속받도록 할 계획이다. 

앞으로 개발하면서 차차 보게될 것이다. 


여기까지 작성하고 서버를 실행시켜서 에러가 나지 않으면, 설정에 문제가 없는것으로 판단할 수 있다. 


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


여기까지가 Mybatis 설정이 완료 되었습니다.

글이 많이 길어졌네요 ! 그래도 개발에 있어서 꼭 필요한 부분이니깐 잘 읽어보고 이해 하시는걸 추천해드려요!

블로그 이미지

시니M

시니의 자바 공부

,

지난 글까지는 스프링을 개발하는데 필요한 개발 환경을 설치하였다.

이번 글부터는 스프링 프로젝트를 생성하고, 스프링 기능을 하나씩 추가해서 

하나의 프로젝트를 생성하는것을 목표로 한다.


간단히 스프링 프레임워크를 살펴보겠습니다. 

 

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 Legacy > spring mvc project를 선택한다.


2. 프로젝트 명을 적고 Next 클리크!

  필자 같은 경우는 test 로 설정!


3. Package 를 입력한다

최소 3레벨 이상 ([1레벨],[2레벨],[3레벨])로 구성 하게끔 되어있다.

 이는 자바 코딩 규칙을 찾아보면 알수 있다.

 여기서는 com.company.test 로 작성


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

 



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

mycompany.myapp 는 지워도 무방하다.

 


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

본인은 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.3.9 밑에 repository라는 폴더를 만들고, LocalRepository를 변경하였었다. 그 폴더로 들어가보자. 



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


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

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



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


그러면, 프로젝트 내에서 라이브러리의 추가 및 삭제, 관리는 어디서 되는지를 살펴보자.


1.2 POM.xml

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




그러면 다음과 같은 화면이 보이고, 중간쯤에 있는 pom.xml 탭을 선택한다.



2. pom.xml을 확인하자. 



↑ 이와 같은 xml 파일을 볼 수 있다. 우리가 필요한 라이브러리의 관리는 모두 pom.xml에서 관리한다. 


여기서 <dependency> </dependency> 라는 태그를 확인 할 수 있는데, 이 태그가 하나의 라이브러리를 의미한다. 만약 라이브러리를 추가하고 싶으면, <dependency></dependency>라는 태그를 추가함으로써,

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

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

2. test 프로젝트 실행

이제 우리가 만든 first 프로젝트가 제대로 실행되는지 확인할 차례다.

1. Servers view에서 새로운 서버를 만든다.  

앞에서 톰캣이 제대로 설치되었는지 확인하기 위해서 만든 서버가 남아있다면 지우자. 


Servers 뷰에서 마우스 우클릭 > New > Server를 선택해도 된다. 


2. Tomcat 7.0을 선택하고, 서버 이름은 test로 바꾼다. 

만약 여러개의 프로젝트가 있을 경우, 하나의 프로젝트에는 하나의 서버만 할당되어야 한다. 즉, 여러개의 서버를 생성해야 할 경우, 같은 이름으로는 서버를 여러개 생성할 수도 없고, 어떤 서버가 어떤 프로젝트인지를 알 수 없기 때문에, 본인은 서버의 이름과 프로젝트의 이름을 동일하게 생성한다.



3. Next > 를 누르자




이와 같은 화면이 나온다. 여기에서는 first라는 프로젝트 하나밖에 없기 때문에 상관없지만, 프로젝트가 여러개가 존재할 경우, 그 모든 프로젝트의 목록이 나온다. first를 더블클릭하거나 Add > 버튼을 눌러서 Configured 쪽으로 옮기고 Finish를 누른다.

 

4. 위의 그림을 보고 잘 따라왔다면 이렇게 톰캣이 추가 되있을텐데 네모난 박스를 클릭해서 톰캣을 실행 시켜보자

 

 

5. 실행을 시키면 빨간글과, 검은글이 파파파팍 하고 뜰텐데 !

아마 저같은 초보자들은 빨간글만 보면 오류인줄 알고 버벅 될거 예요!

하지만 잘 읽어보면 전혀 오류가 아닌 제대로 실행된거라는!!!

 

 

6. 톰캣과 내 프로젝트를 연결이 됬다면 우린 확인을 해봐야겠죠 ?

다들 인터넷을 키고 주소창에 http://localhost:8080/test 라고 입력 해보면

밑에 그림처럼 Hello world! 라고 뜨는 창이 뜬다면 제대로 따라온것이다 ! 후

주소는 (http://localhost:포트번호/프로젝트이름)

 

 오늘은 스프링 프로젝트 생성과 더불어 톰캣 연동까지 해보는 시간이였다.

현재 디비를 공부중이기 때문에 포스팅을 자주 못하고 있다 ㅠㅠ

시간 나는대로 내가 진행하고 있는 곳 까지 포스팅 할 예정이다.

아직 공부하는 중이고 매우 초보자기 때문에 진도가 느리기 때문에 이 글을 보고 답답 한 사람이 많겠지만 나와 같은 완전 초보자 자바에 대한 이해도가 낮은 분들을 위해 그림이 더 많고 글도 쉽게 하려고 하기 때문에 이해해주기 바란다 !

블로그 이미지

시니M

시니의 자바 공부

,

자바를 설치하고 환경변수를 잘 해놔야지만 개발에 차질이 없다고 한다!


역시 자바의 시작은 환경변수 설정이라고 말할정도로 중요한 부분인데!


사진과 글을 보면서 잘 따라해보자


1. 시작버튼 > 환경검색 > 시스템 환경 변수 편집에 들어간다



2. 여기서 시스템 변수(S) 쪽에서 새로만들기를 클릭

변수 이름에 JAVA_HOME
변수 값에 우리가 일전에 설치해놓은 JRE 경로를 입력하고 확인 버튼을 누르자

특별히 폴더를 이동하지 않았을 시 C://Program Files/java/jre8.0_101 일 것이다!


2-1 CLASSPATH 변수 만들기

위와 같이 새로만들기를 클릭해서 변수이름이 CLASSPATH

변수값에 %JAVA_HOME%lib\tools.ja 입력 / 확인을 누른다





2-2 PATH 변수값 수정


이러한 화면이 나오면 PATH 변수값 젤 앞이나, 젤 뒤에 ;%JAVA_HOME%\bin; 를 추가해준다. 



3. Javac, java가 제대로 동작하는지 확인 하기 위해서 커맨드창(CMD)을 열고 

   이렇게 명령어를 쳐보자.


CMD 실행창에 java, javac를 쳤을때 이러한 명령어가 쭈욱 뜬다면 제대로 환경변수가 설정 된 것이다.





javac -version 이란 명령어를 쳤을때 자기가 설치한 jdk 버전이 나오면 성공 !



이로써 자바 개발의 시작 환경 변수에 대해 알아보았다 !

많은 도움이 되길 바란다

블로그 이미지

시니M

시니의 자바 공부

,

안녕하신가요 ~ 이번 글에선 이클립스 플러그인 설치에 대해서 이야기 할려고 합니다.


이글을 끝으로 개발환경 설치는 거의 끝납니다 ㅎㅎ!


사실 개발에 있어서 가장 어려운건 개발환경 설정입니다... 필자는 도움을 받으면서도 7일이나 걸렸다는............


그만큼 개발 환경 설정이 엄청 어려웠는데요 ! 확실한건 처음을 잘해놓으면 쭉쭉 진도를 나갈 수 있어요 ^^



3-1. STS (Spring Tool Suite) 설치


STS는 이클립스에서 스프링 개발을 편리하게 해주는 개발도구이다!


그럼 설치를 진행 해보자!


1. 상단의 Help --> Eclipse Marketplace 를 선택 !


2. Marketplace에서 STS를 검색한다.


이 부분에서 햇갈리는 사람도 많을텐데 !

두번째 Spring Tool Suite 를 인스톹 한다 :)



2. Install 버튼을 누르면 이러한 화면이 나올텐데

필요한거만 깔면 되지만, 이왕이면 다 설치해도 무방하기에 필자는 다 설치했다!

아마 굳이 선택안해도 이클립스내에서 체크할건 하고 해제할껀 해줄것이다 ㅎㅎ



3. 라이센스에 동의하고 나면, 이러한 설치창이 나온다. 기다리자



4. 설치가 완료되고 나면, 이클립스를 재시작 할거냐고 물어보는데 우린 설치를 확인하기 위해 재시작을 한다~



5. 설치가 끝나고 재시작을 했으면 STS가 잘 설치 되어있는지 확인해보자!


1) File > New > others 를 선택 !



2) Wizards 칸에 Spring 을 치면 이러한 화면이 나올텐데 여기서 무엇을 만들어야 하는지 모르는 사람이 많을것이다

    물론 필자 기준으로 (...)


2-1) 겁먹지마라 Spring Legacy Project를 클릭하고 Next 버튼을 누르면 Spring Project가 나온다 ㅎㅎ

      이런 결과 화면이 나온다면 STS 설치가 아주 잘된 것이다.




3-2 Maven Integration 설치


1. Marketplace --> Maven을 검색


2. Maven Integration for Eclips 다운로드 한다!



뒤는 생략한다 ! 설치가 완료되면 재시작을 해준다!


블로그 이미지

시니M

시니의 자바 공부

,

(1) 에 이어서 이번엔 잘 설치 되었는지 파악해보자!


1. 톰캣 설치 확인 !


톰캣은 웹프로그래밍에 있어서 상당히 중요한 작업을 하는데 ~

바로 네트워크 역할을 한다.

쉽게 말해서 톰캣이 연동되지 않고 실행되지 않으면, 브라우저상 자신의 작업물을 확인 할 수 없다 (이거때문에 개고생했다 ..)


처음으로 이클립스를 실행


- 상단의 WIndow --> Prefrernces 를 선택 !

- Server --> Runtime Environment 를 선택한다!




필자는 이미 한번 했기 때문에 저 화면이 뜨지만 시작하는 사람이라면 텅 비어있을것이다~

저기서 add 버튼을 눌러보자



add 버튼을 누르면 이 화면이 뜰것인데 ~

우린 톰캣 7.0 버전으로 실행하니 Apache Tomcat v7.0을 선택하고 Next 버튼을 살포시 누르자




필자는 이미 한번 헀기때문에 (2) 가 붙는 기괴한 이름이지만

처음 설치한사람은 (2)가 없을것이다 ~

그리고 중요한건 이름 밑에 지정해주는 곳이 있는데 우린 C://Dev 안에 톰캣을 설치 했으므로 << 이 곳을 지정

JRE는 제대로 깔았다면 선택창에 뜰것이다 우린 jre 1.80_101 버전을 깔았으니 살포시 선택해준다!




필자가 말한대로 잘 따라 왔다면 하단에 Servers 라는 칸이 생겼을 것이다!

만약 없다면 당황하지말고 상단에 Window --> Show View 에서 Servers 를 선택하면 간단히 해결된다


저기 저 탐스러운 파란색 글짜를 누르면 또 하나의 진행창이 뜰텐데



바로 톰캣을 이클립스에 연동시키는 과정이였던 이것을 또 보게된다 (징글징글)

여기서 살포시 톰캣 7.0을 클릭하고 넥스트를 누르게 되면~



이런 장면이 뜰텐데

많은 사람들이 음 이게 머지 하지만,

단순하다 ! 자기 프로젝트를 만들었다면 Available 창에 프로젝트가 뜰텐데

살포시 더블클릭으로 오른쪽으로 보내자 !



잘 따라왔다면 Servers에 톰캣이 연동 된걸 볼 수 있을텐데

위에 초록색 세모 버튼 즉 스타트를 누르게 되면



이런식으로 연동이 된걸 볼수 있다! 후아 이까지만 왔는데도 벌써 진이 다빠진다..


2. Maven 설정


Maven 을 사용 하는 가장 큰 이유는 아무래도 프로젝트의 라이브러리들을 관리하기가 쉽다는 점이다!

원래 라이브러리를 다운받아서 이클립스에서 라이브러리를 추가해서 사용했는데, 

만약 버전이 바뀌거나 다른 라이브러리를 바꿔야 하는 상황이 오면..........

완전히 새로운 라이브러리를 요구하기 때문에 관리하기가 너무 어렵다 ㅠㅠ


2-1 Maven Repository 변경


Maven 을 사용 할 경우 , 어떤 라이브러리를 사용한다고 명시하면, 인터넷에서 Repository를 관리하면 그곳에서 필요한 라이브러리를 자동으로 찾아서 추가해준다 ! 다시말해서 우리가 사용하는 라이브러리가 다른 어떤 라이브러리가 필요한지 생각 할 필요가 없다 (와우!)


어찌되었든, 이렇게 사용할 라이브러리를 다운받고, 참조할 위치를 변경해주려고 한다. 이 설정을 해놓지 않으면 엄한곳에 라이브러리가 다운받아진다. (사실 이래도 큰 문제는 되지 않지만, 개발환경을 배포할때, 미리 다운받아놓은 라이브러리까지 같이 배포하고, dev 폴더에서 모든것을 관리하기 위해 변경한다.)

C:\dev\apache-maven-3.3.9\conf 폴더로 이동하여 settings.xml을 열어보자.


중간쯤에 주석처리된 localRepository란 부분을 찾아보자. 

아마 Default: ${user.home}/.m2/repository라고 되어있는것을 볼 수 있을것이다. 우리가 설정하지 않으면, 사용자 폴더 에 .m2라는 폴더 밑에 repository라는 폴더에서 라이브러리가 된다. 우리는 개발환경이 설치되어있는 dev 폴더에서 모든걸 관리하려고 하니 이 repository 위치를 변경하려고 한다.

라이브러리는 메이븐을 통해서 관리되니까, maven 폴더 안에 repository 폴더를 생성하려고 한다.

C:\dev\apache-maven-3.3.9 폴더 밑에 repository 폴더를 생성한다.



그 다음, settings.xml에서 <localRepository>/path/to/local/repo</localRepository> <<< 요렇게 되어있는 부분을 찾아서 주석을 해제하고, 방금 생성한 repository 폴더로 변경해준다.




언뜻 보면 복잡해 보이지만 우리가 수정해야할 곳은 검은 박스 안의 repository 경로인데 예전부터 말했지만 
필자는 D드라이버에 모아놓기 때문에 D드라이버로 경로를 설정했지만, 이글을 보는 여러분은 C드라이버 로 경로를 줘야한다

2-2 이클립스 내에서 Maven 설정

1. 상단의 window > Preference를 선택한다.

2. Maven > User Settings를 선택한다.



user settings 쪽 Browse 를 클릭 !

우리가 아까 변경했던 setting.xml 파일로 선택하자!



settings.xml을 잘 설정 했다면 2-2 첫사진처럼 경로가 보여질 것이다.!



오늘은 톰캣 연동, 메이븐 설정 까지 알아봤는데 ! 하다보니 글이 너무 길어졌다 ...

다음엔 개발하는데 필요한 플러그인을 설치하는것에 대해서 이야기해보자

블로그 이미지

시니M

시니의 자바 공부

,

필자는 개발에 '개'자도 모르는 초보이다.

그런데 문득 프로그래머인 친구를 보고 하고 싶다는 생각이 들어 뒤늦게 공부를 하고있다!


필자는 스프링 프레임워크를 공부하고 있는데

나와 같은 스프링 프레임워크를 시작하는 분들에게 도움이 되고자 글을 적는다~

그럼 잘 따라오기 바란다 !


0. 개발 환경 구성


난 지극히 멍청하기 때문에 폴더들이 사방팔방에 퍼져있으면 잘 찾지 못한다 ㅡㅡ..

그래서 늘 무엇을 할때 한곳에 모아두는 습관이 있다 ㅋㅋ

C드라이브 밑에 dev라는 폴더를 만들고 그안에 필요한 환경을 넣어두고 dev폴더만 관리하려 한다!

(참고로 필자는 C드라이버가 부팅 드라이버로 쓰고있기 때문에 D에 만들었다!)





1. 개발환경 버전


IED : Eclipse Neon

JDK : JAVA SE 8u101

Tomcat : Tomcat 7.0

Maven : Maven 3.3.9


필자는 프로그램 공부한지 얼마 되지않아서 대부분이 최신판으로 설치 되어있다.


1.1 Eclipse 다운받기


http://www.eclipse.org 홈페이지 들어가면



이런 화면이 뜨는데 살포시 다운로드 밑에 Other Package Downloads 를 누르자 !



클릭하면 이러한 화면이 뜰텐데

내가 할려는건 jsp를 이용한 웹개발이므로 젤 위에 있는 Java EE Developers를 다운 받자!

(참고로 오른쪽 상단에 자신의 os를 선택하는게 있는데 제대로 맞추고 자신의 윈도우가 몇비트인지 확인하고 받자)


난 리눅스 다운받고 실행안된다고 징징거리다가 친구한테 등짝을 맞았다 ..


1-2 JDK 다운받기


http://www.oracle.com/technetwork/java/javase/downloads/index.html 여기에 접속 !



 제대로 클릭 했다면 이 다음 화면으로 넘어 갈텐데


중요한건 Accept License Agreement에 꼭 체크 하고 자기한테 맞는 버전을 깔아라

저 위에 체크안하고 다운로드 안된다고 징징되다가 또 맞았다 ..

아 참고로! JDK는 설치가 끝나면 자동으로 C >Program Files > java에 생성되 있을것이다

jdk1.8.0_101 << 우린 이폴더를 정성스레 C://DEV 폴더에 집어넣자!



1.3 톰캣 다운받기


톰캣은 웹개발에 있어서 아주 중요한것이고 설정할때 매우 짜증나는 녀석이기도 한다 (필자기준에선)

http://tomcat.apache.org/download-70.cgi 접속하면



이런 화면이 뜨는데 ~ 우리는 한곳에 모울거니깐 설치파일말고 알집으로 받아서 C://DEV 폴더에 압축을 풀자



1.4 Maven 다운받기


http://maven.apache.org/download.cgi 접속하면



이런 화면이 뜨는데 네모난 칸에 있는 알집을 깐뒤 정성스레 C://DEV 폴더에 압출을 풀자


이제 기본적인 설치는 끝났다 ! 

다음시간에는 환경 변수 톰캣, 메이븐 기타 플러그인을 설치하는법을 알아보자


블로그 이미지

시니M

시니의 자바 공부

,