eclipse + maven 配置 SSM 項目環境(適用於 idea)

idea 編輯器自己新建一個 maven 項目後,其他的照着下面做就行。

開始寫教程前,我已經創建了一個用於 web 開發的 maven 項目了,所以還不會創建 maven 項目的同學,可以看我的上一篇博客,教程比較簡單的,跟着一步步做就行,很適合小白看的:https://blog.csdn.net/weidong_y/article/details/80781839

接下來,我們就來開始配置 SSM 環境了!!!

本教程配置是以爲平時寫項目的習慣配置的。不習慣這樣的配置的話,可以自己改。

1.我們先看下新建好的 maven 項目的目錄結構:

如上圖,src/main/java 放的後期寫的 java 代碼。src/main/resourcces

放的是一些配置文件。

然後我們在 src/main/java 下創建幾個寫項目時候需要用到的包,如下

圖:

包名解釋:

com.controller : 用來寫一些控制層的代碼

com.service : 用來存放一些服務接口

com.service.impl : 用來存放接口實現類

com.pojo : 存放對應數據庫表的實體類

com.dao : 跟數據庫有關的操作接口類

 

 

接着在根目錄下創建一個 src/main/resources/spring 的 source Folder 

來存放 spring 的相關配置文件。還有一個 src/main/resources/mapper 

的 source Folder 用來存放跟數據庫有關的 xml 文件。如果不知道有什麼

用,就先建着,後面測試的時候就知道怎麼用了。

 

 

 

2.使用 maven 引入 jar 包

我們使用 maven 來在線下載 jar 包的話,只需要在 pom.xml 文件中配置一下就行,我的 pom.xml 是整理過的,所有直接貼代碼給大家,大家也可以直接複製粘貼使用哦。首先打開你項目的 pom.xml 文件,然後看到下圖紅色方框內,把這段代碼直接刪除掉,然後把下面的代碼全部複製粘貼到紅色方框的位置。別放錯位置!!!

關於 pom.xml 文件中有關 jar 包的下載鏈接哪裏來,可以參考下面這個網

址:http://mvnrepository.com/

<properties>
	<spring.version>4.3.7.RELEASE</spring.version>
</properties>
	
<dependencies>
	<!-- 單元測試 -->
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.12</version>
		<scope>test</scope>
	</dependency>
		
	<!-- 日誌的配置 -->
	<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
	<dependency>
		<groupId>ch.qos.logback</groupId>
		<artifactId>logback-classic</artifactId>
		<version>1.2.3</version>
	</dependency>
		
    <!-- Spring 配置 -->
	<!-- 1)Spring核心 -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</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-context</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- 2)Spring DAO層 -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-tx</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- 3)Spring web -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<!-- 4)Spring test -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-test</artifactId>
		<version>${spring.version}</version>
	</dependency>
		
	<!-- 下面是跟 spring 相關的一些 jar 包配置 -->
	<!-- Servlet Web -->
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>javax.servlet-api</artifactId>
		<version>3.1.0</version>
	</dependency>
		
	<!-- json 解析 -->
	<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
	<dependency>
		<groupId>com.google.code.gson</groupId>
		<artifactId>gson</artifactId>
		<version>2.8.0</version>
	</dependency>
		
	<!-- Map 工具類,對標準java Collection 的擴展 spring-core.jar 需commons-collections.jar -->
	<dependency>
		<groupId>commons-collections</groupId>
		<artifactId>commons-collections</artifactId>
		<version>3.2</version>
	</dependency>
		
	<!-- DAO: MyBatis -->
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis</artifactId>
		<version>3.4.2</version>
	</dependency>
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis-spring</artifactId>
		<version>1.3.1</version>
	</dependency>
		
	<!-- 數據庫 -->
	<dependency> 
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.37</version>
	</dependency>

    <!-- 數據庫連接池 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.10</version>
    </dependency>
		
</dependencies>
 

3. jdbc.properties 的配置

src/main/resource 目錄下,新建一個 jdbc.properties ,自己填上相關數據庫的信息:(這個基本都會了,沒什麼好講,自己改吧)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/o2o?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root

4. mybatis 相關的配置

在 src/main/resource 目錄下,新建一個 mybatis-config.xml 文件,然後把下面的代碼直接複製:

<?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>
	<!-- 配置全局屬性 -->
	<settings>
		<!-- 使用jdbc的getGeneratedKeys獲取數據庫自增主鍵值 -->
		<setting name="useGeneratedKeys" value="true" />

		<!-- 使用列別名替換列名 默認:true -->
		<setting name="useColumnLabel" value="true" />

		<!-- 開啓駝峯命名轉換:Table{create_time} -> Entity{createTime} -->
		<setting name="mapUnderscoreToCamelCase" value="true" />
		
		<!-- 打印查詢語句 -->
		<setting name="logImpl" value="STDOUT_LOGGING" />
	</settings>
</configuration>

5. spring 相關的配置

如果是按照我上面的步驟建立的包名,可以直接複製粘貼下面的代碼到對應的文件裏面,如果包名不同,可以根據代碼中的提示來修改對應的包名的路徑。

 

第一步:spring-dao.xml 的配置

在 src/main/resources/spring 目錄下,新建一個 spring-dao.xml 文件

<?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"
	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">
    
	<!-- 配置整合mybatis過程 -->
	<!-- 1.配置數據庫相關參數properties的屬性:${url} -->
	<context:property-placeholder location="classpath:jdbc.properties"/>  <!-- 根據自己 jdbc.properties 的存放路徑來修改 location -->
	
    <!-- 2.數據庫連接池 -->
    <bean id="dataSource"
          class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>

	<!-- 3.配置SqlSessionFactory對象 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 注入數據庫連接池 -->
		<property name="dataSource" ref="dataSource" />
		<!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
		<property name="configLocation" value="classpath:mybatis-config.xml" />  <!-- 根據自己 mybatis 的文件名字來修改 value-->
		<!-- 掃描 pojo 包 使用別名 -->
		<property name="typeAliasesPackage" value="com.pojo" />  <!-- 根據數據庫表映射出來的實體類所存放的包名來修改 value -->
		<!-- 掃描sql配置文件:mapper需要的xml文件 -->
		<property name="mapperLocations" value="classpath:mapper/*.xml" /> <!-- 根據跟數據庫有關的 xml 文件所存放的目錄來修改 value -->
	</bean>

	<!-- 4.配置掃描Dao接口包,動態實現Dao接口,注入到spring容器中 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- 注入sqlSessionFactory -->
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
		<!-- 給出需要掃描Dao接口包 -->
		<property name="basePackage" value="com.dao" />  <!-- 根據操作數據庫的一些java類存放的包名來修改 value -->
	</bean>
</beans>

 

第二步:spring-service.xml 的配置

在 src/main/resources/spring 目錄下新建一個 spring-service.xml 文件

<?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:tx="http://www.springframework.org/schema/tx"
    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">
    <!-- 掃描service包下所有使用註解的類型 -->
    <context:component-scan base-package="com.service" />  <!-- 根據自己服務接口類所存放的包名來修改 base-package -->

    <!-- 配置事務管理器 -->
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- 注入數據庫連接池 -->
        <property name="dataSource" ref="dataSource" />
    </bean>

    <!-- 配置基於註解的聲明式事務 -->
    <tx:annotation-driven transaction-manager="transactionManager" />
</beans>

第三步:spring-web.xml 的配置

在 src/main/resources/spring 目錄下新建一個 spring-web.xml 文件

說明:靜態資源和視圖解析器的配置請根據自己的實際需求修改!!!

<?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.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
	<!-- 配置SpringMVC -->
	<!-- 1.開啓SpringMVC註解模式 -->
	<!-- 簡化配置: (1)自動註冊DefaultAnootationHandlerMapping,AnotationMethodHandlerAdapter 
		(2)提供一些列:數據綁定,數字和日期的format @NumberFormat, @DateTimeFormat, xml,json默認讀寫支持 -->
	<mvc:annotation-driven />

	<!-- 2.靜態資源默認servlet配置 (1)加入對靜態資源的處理:js,gif,png (2)允許使用"/"做整體映射 -->
	<mvc:resources mapping="/resources/**" location="/resources/" />
	
	<!-- 配置註解驅動 -->
	<mvc:default-servlet-handler />

	<!-- 3.定義視圖解析器 -->
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/html/"></property>
		<property name="suffix" value=".html"></property>
	</bean>
	
	<!-- 4.掃描web相關的bean -->
	<!-- 配置Controller掃描 -->
	<context:component-scan base-package="com.controller" />  <!-- 根據自己 controller 類所存放的包名來修改 base-package -->
	
</beans>

第四步:web.xml 的配置

在 web.xml 中整合 spring + springmvc + mybatis 。

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
      			http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1" metadata-complete="true">
    <display-name>Archetype Created Web Application</display-name>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <!-- 加載spring容器 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/spring-*.xml</param-value>  <!-- 根據自己實際的 spring 配置文件來修改 param-value -->
    </context-param>
    <!--配置DispatcherServlet -->
    <servlet>
        <servlet-name>spring-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/spring-*.xml</param-value>  <!-- 根據自己實際的 spring 配置文件來修改 param-value -->
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring-dispatcher</servlet-name>
        <!-- 默認匹配所有的請求 -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!-- post亂碼過慮器 -->
    <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>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

到這裏,所有的配置就完成了!!!~~~

 

6.驗證

第一步:

新建一個數據庫,新建一張表,並在表裏面新建幾個字段人,然後錄上數據,方便後面測試。現在只是用來測試 SSM 是否配置成功,所有自己隨便新建一張表就行。(我這裏以一張新聞表來寫教程,大家可以根據自己的實際情況進行修改)

注意:記得修改 jdbc.properties 的對應信息。

 

第二步:

在 com.pojo 包下,創建一個 News.java 類。自己定義一些與數據庫表中字段對應的變量,並生成它們的 get 和 set 方

法。

第三步:

在 com.dao 包下新建一個 NewsDao.java 的接口,注意!!!這裏建立的是接口!!!然後定義一個查詢的接口。。

第四步:

由於使用的是 mybatis ,而 mybatis 不需要 dao 去寫一個實現類的,而是在 mybatis 裏面自動實現的,所以我們只需要做一些配置就行了。在 src/main/resources/mapper  新建一個 NewsDao.xml 配置文件。然後把下面的代碼複製進去,然後如果表名不對的話,記得自己修改。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- namespace 是指明 NewsDao.xml 與 NewsDao.java 是對應的 -->
<mapper namespace="com.dao.NewsDao">
	<select id="queryNews" resultType="com.pojo.New">
		select *
		from t_news
	</select>
</mapper>

到這裏需要注意一下:

NewsDao.xml 裏的 id 值是否能與 NewsDao.java 的接口名字對應,已經踩坑,請注意!!!

第五步:

在 com.service 包下,新建一個 NewsService.java 的接口。然後寫一個查

詢接口,如下圖:

第五步:

在 com.service.impl 包下,新建一個 NewsServiceImpl.java 的類。然後繼承 NewService 這個接口類。接着實現接口裏的方法。

注意:這裏需要打上 @Service 的註解,不然會掃描不到!!!

第六步:

在 com.controller 包下,新建一個 NewsController.java 的類,然後直接上代碼了!注意打註解就是了!!!

我這裏是使用 Gson 工具來進行字符串轉成 Json 串。已經在 pom.xml 文

件導入相關的 jar 包了。

第七步:

開啓 tomcat ,然後在 tomcat 環境下跑這個項目。然後在瀏覽器上訪問,看!!!用 ecipse + maven 配置的 SSM 環境已經

完成了。可以開始寫項目了!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章