반응형

1. 프로젝트 생성

 - File->New->Spring Starter Project 항목을 선택한 후 임의의 프로젝트명을 입력

 - 그룹과 패키지 정보는 com.demo로 입력

 - 입력 후 Next 클릭

2. 프로젝트에서 사용할 항목 선택

- Web, Mybatis 항목 선택 후 Finish 클릭

등록 후 패키지는 아래와 같은 형태로 생성된다.


3. gradle 설정 
- ojdbc는 Repository 연결이 되지 않아 따로 다운을 받은 후 직접 연결 또는 Nexus 같은 서버에 연결하여 다운받도록 한다.

 buildscript { 

 ext {

      springBootVersion = '2.0.4.RELEASE' 

 } 

 repositories { 

            mavenCentral() 

        } 

 dependencies {

     classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") 

 }

} 

apply plugin: 'java' 
apply plugin: 'eclipse-wtp' 
apply plugin: 'org.springframework.boot' 
apply plugin: 'io.spring.dependency-management' 
apply plugin: 'war' 
group = 'co' class='se_link' target='_blank'>m.demo.ssl' 
version = '0.0.1-SNAPSHOT' 
sourceCompatibility = 1.8 

repositories { 
        mavenCentral() 
} 
configurations { 
        providedRuntime 
} 

dependencies { 

 compile('org.springframework.boot:spring-boot-starter-jdbc') 
 compile('org.springframework.boot:spring-boot-starter-web') 
 compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2') 
 compile('commons-dbcp:commons-dbcp:1.4') 
 compile("org.mybatis:mybatis:3.3.0") 
 compile("org.mybatis:mybatis-spring:1.2.3") 
 compile("com.google.code.gson:gson:2.8.0") 
 compile("oracle:ojdbc6:11.2.0.4") 
 providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') 
 testCompile('org.springframework.boot:spring-boot-starter-test') 

} 


프로젝트 선택 후 마우스 오른쪽 버튼 클릭 ->Gradle -> Refresh Gradle Project 클릭

gradle refresh 결과

CONFIGURE SUCCESSFUL in 0s

> Task :cleanEclipseWtpComponent
> Task :cleanEclipseWtpFacet
> Task :cleanEclipseWtp UP-TO-DATE
> Task :eclipseWtpComponent
> Task :eclipseWtpFacet
> Task :eclipseWtp
BUILD SUCCESSFUL in 0s
5 actionable tasks: 4 executed, 1 up-to-date


4. application.properties 파일에 DB 접속 정보 설정 

# ===============================

# = DATA SOURCE
# ===============================
# Set here configurations for the database connection
spring.datasource.platform=oracle
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@DB_Host_IP:1521:SID
spring.datasource.username=오라클계정명
spring.datasource.password=오라클계정패스워드


5. 프로젝트에 패키지 및 mapper폴더 생성 

 - src/main/resources/ 밑에 mapper 폴더와 

 - src/main/java 폴더 밑에 controller, service, dao, mybatis 패키지 생성 


6. MybatisConfig.java 생성 

 - mybatis 패키지에 MybatisConfig 클래스 생성 후 화면과 같이 입력

7. classpath:mapper 폴더 밑에 mapper xml 파일 작성 ex)TestMapper.xml 

 

8. dao 패키지 아래에 인터페이스 생성 

 - TestMappper.xml에서 사용하는 id로 메소드명 작성 
 - xml 파일 안에서 네임스페이스는 해당 xml 파일과 맵핑 되는 dao 풀패키지+객체명(인터페이스 또는 클래스) 

9. dao를 사용할 서비스 클래스 생성 

- 서비스 클래스 생성 시 @Service 어노테이션 설정 
- dao 변수 선언 시  @Autowired 어노테이션 설정 
 ex) @Autowired private DemoDao dao; 
 


10. controller 클래스 생성 
- 컨트롤러 클래스 생성 시 @RestController 또는 @Controller 어노테이션을 용도에 맞게 설정 
    - service 변수 선언 시 @Autowired 어노테이션 설정 
 ex) @Autowired private DemoService service; 

11. Spring Boot App Run

 - Spring Boot App Run을 실행

 - 브라우저에서 http://localhost:8080/getDual 입력한 후 현재 시간이 화면에 출력되는지 확인

반응형

'개발관련 > JAVA' 카테고리의 다른 글

[SpringBoot + gradle] sts - gradle 설정  (0) 2018.08.07
반응형

Gradle 설정
1.eclipse gradle 설정
1) Dashboard 화면 하단에서 Extensions 탭 클릭
2) Find 창에서 gradle 입력 후 Gradle(STS Legacy) Support 항목 선택 후 install



2. gradle의 jre 정보 변경
1) Window – Preferences – Gradle(STS) – Arguments – Java Home 항목을 jdk1.7.x로 변경
3. Gradle 프로젝트 등록
1) 프로젝트 생성 – New -> Other -> Gradle(STS) -> Gradle(STS) Project 선택





4. build.gradle 파일 수정
1) repositories 내용 수정
- 추가해야할 정보 => maven { url "http://repo.spring.io/libs-milestone" }
- 해당 정보를 추가하면 관련 파일을 다운로드한다.


수정 전

repositories {

    mavenCentral()
}


수정 후

repositories {

     mavenCentral()
     maven { url "http://repo.spring.io/libs-milestone" }
 }


수정한 기본 build.gradle 정보

 apply plugin: 'java'

apply plugin: 'eclipse-wtp'
apply plugin: 'war'
 
sourceCompatibility = 1.7
targetCompatibility = 1.7
 
version = '1.0'
 
// 버전 정보 등록
def version = [
             spring: '4.1.6.RELEASE',
             servletAPI: '3.1.0',
             commonsCollections: '3.2.1',
             junit: '4.12',
             slf4j: '1.7.12'
]
 
eclipse {
    project.natures "org.springsource.ide.eclipse.gradle.core.nature"
    wtp {
        facet {
            facet name: 'jst.web', version: '3.1'
            facet name: 'jst.java', version: '1.7'
        }
    }
}
 
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart',
                   'Implementation-Version': version
    }
}
 
repositories {
    mavenCentral()
    maven { url "http://repo.spring.io/libs-milestone" }
}
 
dependencies {

    providedCompile "javax.servlet:javax.servlet-api:${version.servletAPI}"
     
    compile "org.springframework:spring-webmvc:${version.spring}"
     
    compile "org.slf4j:slf4j-api:${version.slf4j}"
             compile group: 'commons-collections', name: 'commons-collections', version: "${version.commonsCollections}"
    testCompile group: 'junit', name: 'junit', version: "${version.junit}"
}
 
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' 
 
test {
    systemProperties 'property': 'value'
}
 
uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}



2) TestGradleProject 선택 후 마우스 오른쪽 버튼 클릭 후 Gradle(STS) – Refresh Dependencies 클릭하면 관련 Module를 다운로드 한다.​


5. Springframework 기본 예제 환경 만들기
1) Gradle 프로젝트에서 Java Quickstart로 생성한 패키지 및 파일 삭제​


2) src -> main에서 webapp/WEB-INF/views 폴더 생성


3) src/main/webapp/WEB-INF/views/ 폴더 밑에 home.jsp 파일 생성​



4) home.jsp에 테스트용 코드 작성

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>
             Hello Gradle MVC world!
</h1>
<p> The time on the server is ${serverTime}. </p>
</body>
</html>


5) 프로젝트 마우스 오른쪽 버튼 클릭 -> Run as ->Gradle build.. 클릭


6) Gradle Tasks 명령 입력창에 옵션 명령어 입력 후 Apply -> Run
clean
cleanEclipse
eclipse


빌드 결과


6) 빌드 후 프로젝트에서 F5를 눌러 새로고침을 하게되면 build.gradle에서 의존성 추가해준 라이브러리들이 자동으로 추가


7) 패키지 com.gradle.mvc 생성


8) com.gradle.mvc 패키지 안에 HomeController.java 생성 후 코드 작성

package com.gradle.mvc;

 
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
@Controller
public class HomeController {
     
    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
     
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Locale locale, Model model) {
        logger.info("Welcome home! The client locale is {}.", locale);
         
        Date date = new Date();
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
         
        String formattedDate = dateFormat.format(date);
         
        model.addAttribute("serverTime", formattedDate );
         
        return "home";
    }
 
}


9) com.gradle.mvc.config 패키지 생성​



10)com.gradle.mvc.config 패키지 안에 AppConfig.java, AppInitializer.java 생성 후 코드 작성


- 컨트롤러에서 편하게 jsp와 맵핑시키기 위해 ViewResolver함수와 리소스 인식을 위한 addResourceHandlers 함수를 작성

package com.gradle.mvc.config;
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
 
import com.gradle.mvc.HomeController;
 
@Configuration
@EnableWebMvc
public class AppConfig extends WebMvcConfigurerAdapter {
 
    @Bean
    public HomeController homeController(){
        return new HomeController();
    }
     
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // TODO Auto-generated method stub
        registry.addResourceHandler("/resources/**").addResourceLocations(
                "/resources/");
    }
 
    @Bean
    public ViewResolver getViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
 
} 





- AppInitializer 에서는 DispatcherServlet 을 설정시켜준다.

package com.gradle.mvc.config;
 
import javax.servlet.Filter;
 
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
 
public class AppInitializer extends
        AbstractAnnotationConfigDispatcherServletInitializer {
 
    @Override
    protected Class<?>[] getRootConfigClasses() {
        // TODO Auto-generated method stub
        return null;
    }
 
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[] { AppConfig.class };
    }
 
    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
 
        return new Filter[] { characterEncodingFilter };
    }
     
    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }
 
}

 


11) 프로젝트 빌드 후 톰캣 실행





이 때 Finish나 Next 버튼이 비활성화 되어 있으면 Project -> Properties -> Project Facets에서 Dynamic Web Module의 버전을 3.1 -> 2.5 변경한다. 변경이 불가능할 경우
(이클립스에서 프로젝트를 Import 한 후에 서버를 연결하려고 할때 "Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 WEb modules" 라는 오류가 나오는 경우에도 해당)
- 위 경우는 Web Module 3.1 에서 Tomcat 7.0을 연결하려고 한 증상
.settings -> org.eclipse.wst.common.project.facet.core.xml 파일을 열어서 jst.web 항목의 값을3.1=>2.5로 직접 수정한다.


12) 이클립스 재시작 후 프로젝트 빌드 후 Run AS -> Run on Server으로 시작 또는 톰캣 서버를 실행한 후 직접 URL을 입력하여 확인(http://localhost:8080/TestGradleProject/)



환경 참고 사이트 : http://stag.tistory.com/22?category=614898
오류 관련 참고 사이트 : http://roadrunner.tistory.com/603
Gradle 버전 관련 참고 사이트 : https://code.i-harness.com/ko/q/ee4c92


반응형

'개발관련 > JAVA' 카테고리의 다른 글

[Spring Boot] Spring Boot + mybatis 연동  (0) 2018.09.05

+ Recent posts