• 使用intelliJ IDE开发java web项目


     <!-- spring版本号 -->

    <spring.version>4.3.0.RELEASE</spring.version>

    <!-- mybatis版本号 -->
    <mybatis.version>3.4.4</mybatis.version>

    <!-- mysql驱动版本号 -->
    <mysql-driver.version>5.1.40</mysql-driver.version>

    <!-- log4j日志包版本号 -->
    <log4j.version>2.7</log4j.version>
    <commons-logging.version>1.2</commons-logging.version>

    <!-- 对象转 jackson 版本号 -->
    <jackson.version>1.9.13</jackson.version>

    使用maven 开发springmvc apring mybatis web项目。

    1.File -> New Project ,进入创建项目窗口

     2 出现以下界面 

    3 按照如上选项进行点击,点next

    4 上面两项随便填,点击next

    上面选项中可以直接使用默认配置。我修改的local repository是本地仓库位置,可以改也可以不改。下面在Properties中添加一个参数 archetypeCatalog=internal,不加这个参数,在maven生成骨架的时候将会非常慢,有时候直接卡住。来自网上的解释:archetypeCatalog表示插件使用的archetype元数据,不加这个参数时默认为remote,local,即中央仓库archetype元数据,由于中央仓库的archetype太多了所以导致很慢,指定internal来表示仅使用内部元数据。

    5 点击next

    这个我没有修改,点击finish

    6 生成maven的项目骨架之后,我们还需要手动在 src/main 下创建 java目录。现在可以直接编写了

     到此为止,项目的框架基本搭建完成。

    7 下面进行pom.xml进行配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.huitong</groupId>
      <artifactId>webapp1</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>webapp1 Maven Webapp</name>
      <url>http://maven.apache.org</url>
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- spring版本号 -->
        <spring.version>4.3.0.RELEASE</spring.version>
    
        <!-- mybatis版本号 -->
        <mybatis.version>3.4.4</mybatis.version>
    
        <!-- mysql驱动版本号 -->
        <mysql-driver.version>5.1.40</mysql-driver.version>
    
        <!-- log4j日志包版本号 -->
        <log4j.version>2.7</log4j.version>
        <commons-logging.version>1.2</commons-logging.version>
    
        <!-- 对象转 jackson 版本号 -->
        <jackson.version>1.9.13</jackson.version>
    
    
      </properties>
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
    
        <!-- 添加jstl依赖 -->
        <dependency>
          <groupId>jstl</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
        </dependency>
    
        <!-- javaee 7.0 -->
        <!-- https://mvnrepository.com/artifact/javax/javaee-api -->
        <dependency>
          <groupId>javax</groupId>
          <artifactId>javaee-api</artifactId>
          <version>7.0</version>
        </dependency>
    
    
        <!-- ######## spring mvc 依赖包 start ################################-->
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <!-- ######## spring mvc 依赖包 end ################################-->
    
        <!-- ######## spring core 依赖包 start ################################-->
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <!-- ######## spring core 依赖包 end ################################-->
    
        <!-- ######## mybatis core 依赖包 start ################################-->
        <!-- https://mvnrepository.com/artifact/org.ow2.asm/asm -->
        <dependency>
          <groupId>org.ow2.asm</groupId>
          <artifactId>asm</artifactId>
          <version>5.2</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/cglib/cglib -->
        <dependency>
          <groupId>cglib</groupId>
          <artifactId>cglib</artifactId>
          <version>3.2.5</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>${mybatis.version}</version>
        </dependency>
        <!-- ######## mybatis core 依赖包 end ################################-->
    
        <!-- ######## mybatis spring 依赖包 start ################################-->
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>1.3.1</version>
        </dependency>
        <!-- ######## mybatis spring 依赖包 end ################################-->
    
    
        <!-- ######## DBconnector 依赖包 start ################################-->
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>${mysql-driver.version}</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
        <dependency>
          <groupId>com.mchange</groupId>
          <artifactId>c3p0</artifactId>
          <version>0.9.5.2</version>
        </dependency>
        <!-- ######## DBconnector 依赖包 end ################################-->
    
        <!-- ######## translation 依赖包 start ################################-->
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-tx</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <!-- ######## translation 依赖包 end ################################-->
    
        <!-- ######## AOP 依赖包 start ################################-->
        <!-- https://mvnrepository.com/artifact/aopalliance/aopalliance -->
        <dependency>
          <groupId>aopalliance</groupId>
          <artifactId>aopalliance</artifactId>
          <version>1.0</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjrt -->
        <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjrt</artifactId>
          <version>1.8.10</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
        <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjweaver</artifactId>
          <version>1.8.10</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <!-- ######## AOP 依赖包 end ################################-->
    
    
        <!-- ######## json 依赖包 start ################################-->
        <!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-core-asl -->
        <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-core-asl</artifactId>
          <version>${jackson.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
        <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-mapper-asl</artifactId>
          <version>${jackson.version}</version>
        </dependency>
        <!-- ######## json 依赖包 end ################################-->
    
    
    
    
        <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
        <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
          <version>${commons-logging.version}</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
        <dependency>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-core</artifactId>
          <version>${log4j.version}</version>
        </dependency>
    
    
    
      </dependencies>
      <build>
        <finalName>webapp1</finalName>
      </build>
    </project>
    View Code

    写完pom.xml文件后需要更新依赖,

    点击更新。

     8 按照常规步骤开发SSM项目即可。

    可以参考SSM整合开发流程

    9 spring.xml项目配置,mybatis配置文件指定,spring配置,springMVC配置

    <?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:p="http://www.springframework.org/schema/p"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-4.3.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">
    
        <!-- 1 dataSource-->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="com.mysql.jdbc.Driver"/>
            <property name="jdbcUrl" value="jdbc:mysql:///day17?useSSL=true"/>
            <property name="user" value="root"/>
            <property name="password" value="123456"/>
            <property name="initialPoolSize" value="3"/>
            <property name="maxPoolSize" value="10"/>
            <property name="maxStatements" value="20"/>
            <property name="acquireIncrement" value="2"/>
        </bean>
    
        <!-- 2 sqlSessionFactoryBean-->
        <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="configLocation" value="classpath:mybatis/mybatis.xml"/>
            <property name="dataSource" ref="dataSource"/>
        </bean>
    
        <!-- 3 dao/service -->
        <bean id="studentDao" class="com.huitong.dao.StudentDao">
            <property name="sqlSessionFactory" ref="sqlSessionFactoryBean"/>
        </bean>
    
        <bean id="studentService" class="com.huitong.service.StudentService">
            <property name="studentDao" ref="studentDao"/>
        </bean>
        
    
        <!-- 4 scan -->
        <context:component-scan base-package="com.huitong.action"/>
    
        <!-- 5 transaction -->
        <!-- 5.1 txManager -->
        <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"/>
        </bean>
    
        <!-- 5.2 txAdvice -->
        <tx:advice id="txAdvice" transaction-manager="txManager">
            <tx:attributes>
                <tx:method name="get*" read-only="true"/>
                <tx:method name="query*" read-only="true"/>
                <tx:method name="*"/>
            </tx:attributes>
        </tx:advice>
    
        <!-- 5.3 AOP -->
        <aop:config>
            <aop:pointcut id="pt" expression="execution(* com.huitong.service.*.*(..))"/>
            <aop:advisor advice-ref="txAdvice" pointcut-ref="pt"/>
    
        </aop:config>
    
        <!-- 6 internalResourceViewResolver -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/jsp/"/>
            <property name="suffix" value=".jsp"/>
    
        </bean>
        
        <mvc:interceptors>
            <mvc:interceptor>
                <!-- 先匹配所有路径,然后排除不需要检查的路径 -->
                <mvc:mapping path="/**"/>
    
                <!-- 与登录相关的请求 -->
                <mvc:exclude-mapping path="/*.jsp"/>
                <mvc:exclude-mapping path="/student/login.action"/>
                <mvc:exclude-mapping path="/student/register.action"/>
    
                <!-- 以下是静态资源 -->
                <mvc:exclude-mapping path="/images/**" />
                <mvc:exclude-mapping path="/css/**" />
                <mvc:exclude-mapping path="/font/**" />
                <mvc:exclude-mapping path="/js/**" />
                <mvc:exclude-mapping path="/datepicker/**" />
    
                <!-- 用户是否已经登录的检查bean -->
                <bean class="com.huitong.util.StudentAuth"/>
                    
            </mvc:interceptor>
        </mvc:interceptors>
    
    </beans>
    View Code

    10 项目部署,这几步很关键。可以参考 图文详解 IntelliJ IDEA 15 创建普通 Java Web 项目

    常见问题

    1 maven项目中java文件夹不能新建package和class,需要做如下设置

    2 在idea中安装mybatis插件

    选择file -> setting -> plugins,搜索mybatis,这时因为没有安装过插件,所以会出现如图所示:

    点击Browse,这是会弹出如下窗口,intellij idea会自动从网络搜索插件,方便下载,如图所示:

    点击Install plugin即可自动下载安装,之后重启intellij idea即可。

    3 在进行mapper文件映射时出现 URI is not registered.解决办法如下

    鼠标点击红色字,然后Intellij出现小红灯,选择Fetch external resource即可解决 

    4 MAVEN项目jar包依赖导入问题解决,

    在新建项目后,项目的路径中会生成pom.xml文件和项目名.iml文件。新建项目后,IDEA不会自动刷新Maven的依赖。刷新Maven配置的方法为:

    (1)右键单击项目;

    (2)在弹出菜单中选择Maven|Reimport菜单项。

    此时,IDEA将通过网络自动下载相关依赖,并存放在Maven的本地仓库中。

  • 相关阅读:
    beanshell-接口返回结果与预期结果比较(预期结果为两个接口差集)-两个set集合的比较
    jmeter断言之Beanshell断言(判断数据库结果是否符合预期)
    beanshell查询结果多条取满足条件的一条数据作为前置步骤给其他接口参数使用
    beanshell判断响应数据是jsonobject类型还是jsonarray类型
    yarn global add安装的目录(window10)
    React 使用axios,将axios注入到全局使用
    解决H5支付宝支付空白页问题
    React Ant Design Mobile ListView 上拉刷新,下拉加载
    vue点击实现复制
    element 设置table表头样式
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/6883671.html
Copyright © 2020-2023  润新知