ssm初始化環境搭建

1、建立一個工程css

選擇Maven,勾選create from archetype,選中maven-archetype-webappjava

2、編輯Mavenmysql

一、Spring框架必須web

二、Spring整合ORM框架(如調用事務管理器)spring

三、Springweb的支持(無論Struts2仍是SpringMVC都須要,它不是SpringMVCsql

四、SpringMVC數據庫

五、Spring依賴的jacksonSpringMVC使用@ResponseBody時輸出JSON要用到)spring-mvc

六、Mybatis緩存

七、Mybatis-spring 1SqlSessionFactory 2、完成Dao的實現類)mybatis

八、Mybatis須要依賴的數據庫的驅動

九、Mybatis須要依賴的C3P0

十、JSTL

POM.XML參考:

 

<properties>
    <spring-version>5.0.5.RELEASE</spring-version>
    <jackson-version>2.9.5</jackson-version>
    <mybatis-version>3.4.6</mybatis-version>
    <mybatis-spring-version>1.3.2</mybatis-spring-version>
    <c3p0-version>0.9.5.2</c3p0-version>
    <!--oracle的使用私有庫(Maven自己不提供Oracle的驅動)-->
    <mysql-version>8.0.11</mysql-version>
    <jstl-version>1.2</jstl-version>
</properties>

 

 

 

 

 

<!--一、Spring框架必須-->
<!--Spring框架必須:Spring Core、Spring Context、Spring Beans、Spring AOP-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>${spring-version}</version>
</dependency>
<!--二、Spring整合ORM框架(如調用事務管理器)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${spring-version}</version>
</dependency>
<!--三、Spring對web的支持(無論Struts2仍是SpringMVC都須要,它不是SpringMVC)-->
<!--spring對web的支持 1.新建一個applicationContext.xml 2.把applicationContext.xml寫到web.xml(整個web項目的啓動文件)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring-version}</version>
</dependency>
<!--4.SpringMVC-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring-version}</version>
</dependency>
<!--5.Spring依賴的jackson-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>${jackson-version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>${jackson-version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>${jackson-version}</version>
</dependency>
<!--六、Mybatis-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>${mybatis-version}</version>
</dependency>
<!--七、Mybatis 和Spring的整合-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>${mybatis-spring-version}</version>
</dependency>
<!--八、Mybatis須要依賴的數據庫的驅動,Oracle,MySQL-->
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>12.2.0</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql-version}</version>
</dependency>
<!--9.c3p0是一個很是穩定的數據庫鏈接池-->
<dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>${c3p0-version}</version>
</dependency>
<!--10.jsp使用JSTL-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>${jstl-version}</version>
</dependency>

3、5份配置文件

 

  1. web.xml
  2. 先保證web.xml3.0以上的版本

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         id="WebApp_ID" version="3.1">
</web-app>

   加入Spring的支持

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

  加入SpringMVC(分別是中央控制器和編碼過濾器)

<!--SpringMVC的中央控制器-->
<servlet>
    <servlet-name>springmvc-servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>springmvc-servlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

 

<!--字符集編碼過濾器,設置爲UTF8-->
<!--至關於request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");-->
<filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

2. db.properties

jdbc_driver=oracle.jdbc.driver.OracleDriver
jdbc_url=jdbc:oracle:thin:@192.168.88.88:1521:orcl
jdbc_username=oa
jdbc_password=123456

#oracle參考字符串
#oracle.jdbc.driver.OracleDriver
#jdbc:oracle:thin:@192.168.88.88:1521:orcl
#mysql參考字符串(注意6.0以上的jar包發生了變化)
#jdbc:mysql://localhost:3306/pyq?serverTimezone=UTC
#com.mysql.cj.jdbc.Driver

3.applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd
">
    <context:property-placeholder location="classpath:db.properties"></context:property-placeholder>
    <context:component-scan base-package="com.nf"></context:component-scan>
    <!--如下配置數據庫相關的信息-->
    <!-- 使用c3p0鏈接池註冊數據源 -->
    <bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <!-- 基礎配置 -->
        <property name="jdbcUrl" value="${jdbc_url}"></property>
        <property name="driverClass" value="${jdbc_driver}"></property>
        <property name="user" value="${jdbc_username}"></property>
        <property name="password" value="${jdbc_password}"></property>
        <!-- 關鍵配置 -->
        <!--初始化時獲取三個鏈接,取值應在minPoolSize與maxPoolSize之間。Default: 3 -->
        <property name="initialPoolSize" value="3"></property>
        <!--鏈接池中保留的最小鏈接數。Default: 2 -->
        <property name="minPoolSize" value="2"></property>
        <!--鏈接池中保留的最大鏈接數。Default: 15 -->
        <property name="maxPoolSize" value="15"></property>
        <!--當鏈接池中的鏈接耗盡的時候c3p0一次同時獲取的鏈接數。Default: 3 -->
        <property name="acquireIncrement" value="1"></property>
        <!-- 性能配置 -->
        <!-- 控制數據源內加載的PreparedStatements數量。若是maxStatements與maxStatementsPerConnection均爲0,則緩存被關閉。Default: 0 -->
        <property name="maxStatements" value="8"></property>
        <!-- maxStatementsPerConnection定義了鏈接池內單個鏈接所擁有的最大緩存statements數。Default: 0 -->
        <property name="maxStatementsPerConnection" value="5"></property>
        <!--最大空閒時間,1800秒內未使用則鏈接被丟棄。若爲0則永不丟棄。Default: 0 -->
        <property name="maxIdleTime" value="1800"></property>
        <property name="testConnectionOnCheckout" value="false"></property>
    </bean>
    <!--配置Mybatis SqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--就這一行,咱們取代了手動寫Builder,sqlMapConfig.xml-->
        <property name="dataSource" ref="myDataSource"></property>
        <property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
    </bean>
    <!--因爲不用寫Dao的實現類,這個交給Mybatis完成,但仍是須要寫接口-->
    <!---DAO接口所在的包名,spring會自動查找-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.nf.dao"></property>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>

    <!--事務管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="myDataSource"></property>
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

</beans>

 

4. spring-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd
">
    <!--掃描包-->
    <context:component-scan base-package="com.nf"></context:component-scan>
    <!--啓動註解驅動-->
    <mvc:annotation-driven></mvc:annotation-driven>
    <!--啓動視圖解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/view/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
    <!--定義靜態資源(css,js),通通不用SpringMVC進行解析-->
    <mvc:resources mapping="/static/**" location="/static/"></mvc:resources>
</beans>

5.1. sqlMapConfig.xml(其實這個文件也能夠跟spring融合)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration  
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <typeAliases>
      <package name="nf.entity"/>
   </typeAliases>
   <mappers>
      <mapper resource="mapper/XxxDao.xml"/>
   </mappers>
</configuration>

四 創建Xxx模版

14個包

com.nf.action

com.nf.service

com.nf.dao

com.nf.entity

 

二、 新建一個實體類

取名Xxx (能夠跟表名一致)

 

三、 新建XxxDao (根據需求,例如查詢全部,查詢一個,添加、修改、刪除等)

 

四、 對應Dao層接口,新建Mapper

創建一個/mapper/XxxMapper.xml

 

五、 新建XxxServiceInterface

六、 新建XxxServiceImpl的實現類

 

七、 新建XxxAction

 

8、新建showxxx.jsp

 

 

 

 

1.  db.properties

相關文章
相關標籤/搜索