Intellij IDEA Java web 項目搭建

Java web 項目搭建

簡介

在上一節java web環境搭建中,咱們配置了開發java web項目最基本的環境,如今咱們將採用Spring MVC+Spring+Hibernate的架構搭建一個java web項目html

Spring MVC+Spring+Hibernate結構介紹以下:java

  • Spring MVC
    Spring MVC的職責是做爲web層框架,實現了咱們常見的MVC模式
  • Spring
    Spring 做爲服務層,利用自身特性IOC、AOP,提供數據從DAO層到Web層的橋樑做用。
  • Hibernate
    Hibernate做爲熟知的ORM框架,提供了從數據庫讀取數據映射到實體的功能,這裏咱們將Hibernate服務於DAO層

項目結構

基於Spring MVC+Spring+Hibernate架構,面向接口編程,搭建項目,分爲Model、DAO、Service、ViewModel、Web層,具體介紹以下mysql

  • Model
    分爲數據庫實體和邏輯model兩塊,提供DAO和Service的數據實體和業務邏輯model
  • DAO
    基於Hibernate,提供數據庫讀取,提供基本的增刪改查和數據訪問功能,供Service調用
  • Service
    業務邏輯層,經過調用DAO的提供的數據訪問接口,整合業務邏輯,將數據提供給Web層,基於Spring的依賴注入和切面編程,提供面向接口的服務
  • ViewModel
    頁面展示model,提供給web層
  • Web
    提供一個用戶界面,調用Service提供的數據接口,實現用戶交互操做

項目搭建

基於Intellij IDEA開發工具,搭建Web項目,依賴了Hibernate,Spring ,Spring MVC等框架,具體搭建以下web

  • 建立總體項目

    1.打開IntellijFile-->New Project,選擇Maven,下一步,輸入Group IDArtifactId,以下圖所示
    http://7xipae.com1.z0.glb.clouddn.com/Document/Java/建立項目.png
    2.輸入項目名稱com.ganji.demo,點擊finish,項目建立完成spring

  • 添加Model模塊

    1.添加model模塊
    打開IntellijFile-->New Maven,選擇Maven,下一步,輸入GroupIDArtifactId,以下圖所示,注意Parent隸屬於com.ganji.demo,繼續model name填寫com.ganji.demo.model
    http://7xipae.com1.z0.glb.clouddn.com/Document/Java/添加model.pngsql

    2.添加實體
    能夠經過安裝hibernate自動將數據庫表映射成實體類,數據庫

    添加實體的辦法以下express

    • 在resources下配置數據庫鏈接文件,gcrm.cfg.xml,具體內容以下編程

      <?xml version='1.0' encoding='utf-8'?>
      <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD//EN"
              "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
      <hibernate-configuration>
          <session-factory>
              <property name="connection.url">jdbc:mysql://ip地址:端口號/數據庫名</property>
              <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
              <property name="connection.username">username</property>
              <property name="connection.password">pwd</property>
              <property name="current_session_context_class">thread</property>
          </session-factory>
      </hibernate-configuration>

      添加後,右上角會提示Add to hibernate facet configuration,點擊添加,下面生成實體會用到。spring-mvc

    • 在項目名稱上,右鍵添加Add Framework Support,左側勾選Hibernate,而後ok便可。
    • 菜單欄View-->Tool Window-->Persistence,打開Persistence。
    • 在Persistence model項目上右鍵,Generate Persistence Mapping-->By Database Schema,
    • 配置生成數據庫實體類,具體配置以下
      http://7xipae.com1.z0.glb.clouddn.com/Document/Java/實體生成配置.png
  • 添加DAO模塊

    1.添加dao模塊
    打開IntellijFile-->New Maven,選擇Maven,下一步,輸入GroupIDArtifactId,注意Parent隸屬於com.ganji.demo,繼續model name填寫com.ganji.demo.dao

    2.添加dao對model模塊的引用
    在dao模塊上,右鍵Open Model Settings,點擊右側綠色+號,選擇Module Dependency,選擇model模塊便可

    3.添加對Hibernate框架的引用
    在dao模塊上,右鍵Add Framework Support,選擇hibernate,而後肯定便可。

  • 添加Service模塊

    1.添加service模塊
    打開IntellijFile-->New Maven,選擇Maven,下一步,輸入相應GroupIDArtifactId,注意Parent隸屬於com.ganji.demo,繼續model name填寫com.ganji.demo.service

    2.添加model、dao模塊的引用
    同dao模塊添加model引用

  • 添加ViewModel模塊

    1.添加viewmodel模塊
    打開IntellijFile-->New Maven,選擇Maven,下一步,輸入相應GroupIDArtifactId,注意Parent隸屬於com.ganji.demo,繼續model name填寫com.ganji.demo.viewmodel

  • 添加Web模塊

    1.添加web模塊
    打開IntellijFile-->New Maven,選擇Maven,勾選create from archetype,選擇maven -archetype-webapp,下一步,輸入相應GroupIDArtifactId,注意Parent隸屬於com.ganji.demo,繼續model name填寫com.ganji.demo.web

    2.添加對service、viewmodel、model模塊的引用
    同dao模塊添加model引用

    三、添加對spring mvc framework的引用
    在dao模塊上,右鍵Add Framework Support,選擇spring-->spring mvc,而後肯定便可。

    四、配置web.xml文件
    配置web.xml,添加servlet屬性,做爲web容器,進行url的分發操做
    配置文件以下:
    xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Archetype Created Web Application</display-name> <!-- Handles all requests into the application --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocatin</param-name> <param-value>classpath:dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
    五、配置dispatcher-servlet.xml
    webappweb-inf目錄下,添加dispatcher-servlet.xml,上述web.xml中servlet指定的分發配置文件,配置以下內容

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="
      http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context-3.0.xsd
      http://www.springframework.org/schema/mvc
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd" >
    
        <!--開啓註解映射支持-->
        <mvc:annotation-driven/>
    
        <!-- 開啓controller註解支持 -->
        <!-- use-default-filters="false" 只掃描指定的註解 -->
        <context:component-scan base-package="com.ganji.demo.web.controller" use-default-filters="false">
            <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
        </context:component-scan>
    
        <!-- 開啓視圖解析支持 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
            <property name="prefix" value="/WEB-INF/view/"></property>
            <property name="suffix" value=".jsp"></property>
        </bean>
    
        <!--開啓依賴注入-->
        <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
        <bean id="demoUserService" class="com.ganji.demo.service.user.DemoUserServiceImpl"></bean>
    
    </beans>

參考資料

IntelliJ IDEA 12 與 Tomcat 集成並運行Web項目
使用Intellij IDEA從零使用Spring MVC
Intellij IDEA建立Maven Web項目
IntelliJ IDEA 12建立Maven管理的Java Web項目(圖解)
SpringMVC學習系列(2) 之 經典的HelloWorld實現
SpringMVC入門教程
spring mvc ModelAndView的 Model 值 在jsp中不顯示

相關文章
相關標籤/搜索