国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

基于maven的ssm框架整合的示例代碼

2024-07-13 10:15:15
字體:
來源:轉載
供稿:網友

基本概念

1.1、Spring

Spring是一個開源框架,Spring是于2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。 簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。

1.2、SpringMVC

Spring MVC屬于SpringFrameWork的后續產品,已經融合在Spring Web Flow里面。Spring MVC 分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定制。

1.3、MyBatis

MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。MyBatis是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis 使用簡單的 XML或注解用于配置和原始映射,將接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。

第一步:通過maven建立一個web項目。

第二步:pom文件導入jar包

(1) pom.xml

我把我pom文件整個都拷貝來了,有些初始化就有的東西你要去掉,保留你自己pom生成的那份。

<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.test</groupId> <artifactId>ssm</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>ssm Maven Webapp</name> <url>http://maven.apache.org</url>  <properties>   <!-- spring版本號 -->   <spring.version>4.0.2.RELEASE</spring.version>   <!-- mybatis版本號 -->   <mybatis.version>3.2.6</mybatis.version>   <!-- log4j日志文件管理包版本 -->   <slf4j.version>1.7.7</slf4j.version>   <log4j.version>1.2.17</log4j.version>  </properties>   <dependencies> <dependency>  <groupId>junit</groupId>  <artifactId>junit</artifactId>  <version>3.8.1</version>  <scope>test</scope> </dependency>  <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-core</artifactId>    <version>${spring.version}</version>   </dependency>    <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-web</artifactId>    <version>${spring.version}</version>   </dependency>   <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-oxm</artifactId>    <version>${spring.version}</version>   </dependency>   <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-tx</artifactId>    <version>${spring.version}</version>   </dependency>    <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-jdbc</artifactId>    <version>${spring.version}</version>   </dependency>    <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-webmvc</artifactId>    <version>${spring.version}</version>   </dependency>   <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-aop</artifactId>    <version>${spring.version}</version>   </dependency>    <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-context-support</artifactId>    <version>${spring.version}</version>   </dependency>    <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-test</artifactId>    <version>${spring.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>1.2.2</version>   </dependency>   <!-- 導入java ee jar 包 -->   <dependency>    <groupId>javax</groupId>    <artifactId>javaee-api</artifactId>    <version>7.0</version>   </dependency>   <!-- 導入Mysql數據庫鏈接jar包 -->   <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>5.1.30</version>   </dependency>   <!-- 導入dbcp的jar包,用來在applicationContext.xml中配置數據庫 -->   <dependency>    <groupId>commons-dbcp</groupId>    <artifactId>commons-dbcp</artifactId>    <version>1.2.2</version>   </dependency>   <!-- JSTL標簽類 -->   <dependency>    <groupId>jstl</groupId>    <artifactId>jstl</artifactId>    <version>1.2</version>   </dependency>   <!-- 日志文件管理包 -->   <!-- log start -->   <dependency>    <groupId>log4j</groupId>    <artifactId>log4j</artifactId>    <version>${log4j.version}</version>   </dependency>         <!-- 格式化對象,方便輸出日志 -->   <dependency>    <groupId>com.alibaba</groupId>    <artifactId>fastjson</artifactId>    <version>1.1.41</version>   </dependency>     <dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-api</artifactId>    <version>${slf4j.version}</version>   </dependency>    <dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-log4j12</artifactId>    <version>${slf4j.version}</version>   </dependency>   <!-- log end -->   <!-- 映入JSON -->   <dependency>    <groupId>org.codehaus.jackson</groupId>    <artifactId>jackson-mapper-asl</artifactId>    <version>1.9.13</version>   </dependency>   <!-- 上傳組件包 -->   <dependency>    <groupId>commons-fileupload</groupId>    <artifactId>commons-fileupload</artifactId>    <version>1.3.1</version>   </dependency>   <dependency>    <groupId>commons-io</groupId>    <artifactId>commons-io</artifactId>    <version>2.4</version>   </dependency>   <dependency>    <groupId>commons-codec</groupId>    <artifactId>commons-codec</artifactId>    <version>1.9</version>   </dependency>  </dependencies> <build> <finalName>ssm</finalName> </build></project>

第三步:看整體的項目架構,先說明下我這里還沒有有關springMVC的相關東西,因為我先整合sping-mybatis,在測試是否成功,成功在整合springMVC

maven,ssm框架整合,maven整合ssm框架配置

第四步:建立model類

public class User { private int id; private String name; private String password; private String password2; /*提供set和get方法,toString方法*/}

第五步:創建數據庫,UserDao接口和mapper映射文件

(1)建立很簡單的一張表

maven,ssm框架整合,maven整合ssm框架配置

(2)UserDao接口

public interface UserDao {  User findUserById(User user);}

(3)UesrMapper.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace命名空間,指向UserDao全路徑--><mapper namespace="com.ssm.dao.UserDao"> <!-- 根據id查詢用戶信息 --> <!--   id:唯一標識 一個statement,和UserDao方法名一致  #{}:表示 一個占位符,如果#{}中傳入簡單類型的參數,#{}中的名稱隨意  parameterType:輸入 參數的類型,和UserDao()里參數一致  resultType:輸出結果 類型,和UserDao()返回類型一致  --> <select id="findUserById" parameterType="com.ssm.model.User" resultType="com.ssm.model.User">  SELECT * FROM USER   <where>  <if test="name != null">   AND Name= #{name}  </if>  <if test="password != null">   AND password= #{password}  </if>  </where>  </select> </mapper>

第五步:創建UserService和UserServiceImpl

(1)UserService

public interface UserService {  public User getUserById(User user); }

(2)UserServiceImpl

import org.springframework.stereotype.Service;import com.ssm.dao.UserDao;import com.ssm.model.User;import com.ssm.service.UserService;@Service("userService")public class UserServerImpl implements UserService { @Resource private UserDao userDao; public User getUserById(User user) {  return this.userDao.findUserById(user); }}

第六步:創建jdbc文件和log日志文件

(1)jdbc.properties

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc/:mysql/://localhost/:3306/test?useUnicode=true&&characterEncoding=UTF-8jdbc.username=rootjdbc.password=root

(2)log4j.properties

log4j.rootLogger=INFO,Console,File #定義日志輸出目的地為控制臺 log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out #可以靈活地指定日志輸出格式,下面一行是指定具體的格式 log4j.appender.Console.layout = org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  #文件大小到達指定尺寸的時候產生一個新的文件 log4j.appender.File = org.apache.log4j.RollingFileAppender #指定輸出目錄 log4j.appender.File.File = logs/ssm.log #定義文件最大大小 log4j.appender.File.MaxFileSize = 10MB # 輸出所以日志,如果換成DEBUG表示輸出DEBUG以上級別日志 log4j.appender.File.Threshold = ALL log4j.appender.File.layout = org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH/:mm/:ss}][%c]%m%n 

第七步:整合spring-mybatis.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:p="http://www.springframework.org/schema/p"  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-3.1.xsd       http://www.springframework.org/schema/context       http://www.springframework.org/schema/context/spring-context-3.1.xsd       http://www.springframework.org/schema/mvc       http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  <!-- 自動掃描 -->  <context:component-scan base-package="com.ssm" />  <!-- 引入實現jdbc配置文件 -->  <bean id="propertyConfigurer"   class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">   <property name="location" value="classpath:jdbc.properties" />  </bean>   <!-- 2.數據庫連接池 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"   destroy-method="close">   <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>    <!-- spring和MyBatis整合,通過spring來管理MyBatis的SqlSessionFactory會話工廠 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">   <!-- 指定數據庫連接池引用 -->  <property name="dataSource" ref="dataSource" />   <!-- 自動掃描mapping.xml文件 -->   <property name="mapperLocations" value="classpath:com/ssm/mapper/*.xml"></property>  </bean>   <!-- DAO接口所在包名,Spring會自動查找其下的類 -->  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">   <property name="basePackage" value="com.ssm.dao" />   <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>  </bean>   <!-- (事務管理)transaction manager, use JtaTransactionManager for global tx -->  <bean id="transactionManager"   class="org.springframework.jdbc.datasource.DataSourceTransactionManager">   <property name="dataSource" ref="dataSource" />  </bean> </beans>

第八步:建立測試類

經過以上步驟(log4j不配也沒影響),我們已經完成了Spring和mybatis的整合,這樣我們就可以編寫一段測試代碼來試試是否成功了。

測試類在src/test/java中建立,如果測試成功,表示Spring和Mybatis已經整合成功了。輸出信息使用的是Log4j打印到控制臺。

(1)TestMyBatis測試類

package ssm;import javax.annotation.Resource;import org.apache.log4j.Logger;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.ssm.model.User;import com.ssm.service.UserService;/*讓測試運行于Spring測試環境*/@RunWith(SpringJUnit4ClassRunner.class) /*用來指定加載的Spring配置文件的位置,會加載默認配置文件*/@ContextConfiguration(locations = { "classpath:spring-mybatis.xml" })public class TestMyBatis { @Resource(name = "userService")  private UserService userService; @Test public void test1() {  User user=new User();  user.setName("張三");  user.setPassword("123");  User user1 = userService.getUserById(user);  System.out.println(user1.toString()); }}

最后!關鍵看后臺輸出,也是見證奇跡的時候,如果輸出對象那說明你配置整合成功!

maven,ssm框架整合,maven整合ssm框架配置

那接下來我們開始整合springMVC

maven,ssm框架整合,maven整合ssm框架配置

第九步:配置springmvc.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:p="http://www.springframework.org/schema/p"  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-3.1.xsd       http://www.springframework.org/schema/context       http://www.springframework.org/schema/context/spring-context-3.1.xsd       http://www.springframework.org/schema/mvc       http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  <!-- 自動掃描該包,使SpringMVC認為包下用了@controller注解的類是控制器 -->  <context:component-scan base-package="com.ssm.controller" />  <!--避免IE執行AJAX時,返回JSON出現下載文件 -->  <bean id="mappingJacksonHttpMessageConverter"   class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">   <property name="supportedMediaTypes">    <list>     <value>text/html;charset=UTF-8</value>    </list>   </property>  </bean>  <!-- 啟動SpringMVC的注解功能,完成請求和注解POJO的映射 -->  <bean   class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">   <property name="messageConverters">    <list>     <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON轉換器 -->    </list>   </property>  </bean>  <!-- 定義跳轉的文件的前后綴 ,視圖模式配置-->  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">   <!-- 這里的配置我的理解是自動給后面action的方法return的字符串加上前綴和后綴,變成一個 可用的url地址 -->   <property name="prefix" value="/WEB-INF/jsp/" />   <property name="suffix" value=".jsp" />  </bean>    <!-- 配置文件上傳,如果沒有使用文件上傳可以不用配置,當然如果不配,那么配置文件中也不必引入上傳組件包 -->  <bean id="multipartResolver"   class="org.springframework.web.multipart.commons.CommonsMultipartResolver">   <!-- 默認編碼 -->   <property name="defaultEncoding" value="utf-8" />   <!-- 文件大小最大值 -->   <property name="maxUploadSize" value="10485760000" />   <!-- 內存中的最大值 -->   <property name="maxInMemorySize" value="40960" />  </bean>  </beans>

第十步:配置web.xml文件

這里面對spring-mybatis.xml的引入以及配置的spring-mvc的Servlet就是為了完成SSM整合,之前2框架整合不需要在此處進行任何配置。

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://java.sun.com/xml/ns/javaee"  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>  <!-- Spring和mybatis的配置文件 -->  <context-param>   <param-name>contextConfigLocation</param-name>   <param-value>classpath:spring-mybatis.xml</param-value>  </context-param>  <!-- 編碼過濾器 -->  <filter>   <filter-name>encodingFilter</filter-name>   <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>   <async-supported>true</async-supported>   <init-param>    <param-name>encoding</param-name>    <param-value>UTF-8</param-value>   </init-param>  </filter>  <filter-mapping>   <filter-name>encodingFilter</filter-name>   <url-pattern>/*</url-pattern>  </filter-mapping>  <!-- Spring監聽器 -->  <listener>   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <!-- 防止Spring內存溢出監聽器 -->  <listener>   <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>  </listener>   <!-- Spring MVC servlet -->  <servlet>   <servlet-name>SpringMVC</servlet-name>   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   <init-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath:springmvc.xml</param-value>   </init-param>   <load-on-startup>1</load-on-startup>   <async-supported>true</async-supported>  </servlet>  <servlet-mapping>   <servlet-name>SpringMVC</servlet-name>   <!-- 此處可以可以配置成*.do,對應struts的后綴習慣 -->   <url-pattern>/</url-pattern>  </servlet-mapping>  <welcome-file-list>   <welcome-file>/index.jsp</welcome-file>  </welcome-file-list>  </web-app>

第十一步最后測試:

(1) 先寫login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><head><title>用戶登錄:</title></head><body><form action="login"><label>用戶名:</label><input type="text" id="username" name="username"></input><br><br><label>密碼:</label><input type="text" id="password" name="password"></input><br><br><input type="submit" value="登錄"/></form></body></html>

界面:

maven,ssm框架整合,maven整合ssm框架配置

(2)在寫UserController

import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.ssm.dao.UserDao;import com.ssm.model.User;@Controllerpublic class UserController { @Resource private UserDao userDao;  @RequestMapping("/jsp/login") public String login(HttpServletRequest request){ String username=request.getParameter("username"); String password=request.getParameter("password"); User user=new User(); //根據用戶名和學生查詢數據庫 user.setName(username); user.setPassword(password);  User users=userDao.findUserById(user); //如果有學生就說明登錄成功 if(users!=null){  return "susscss"; } //這個jsp我沒有寫,大家知道就好,你們可以自己寫 return "err";} }

(3)最后susscss.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><body><P>用戶賬號密碼正確,登錄成功</P></body></html>

完美!

maven,ssm框架整合,maven整合ssm框架配置

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 城口县| 民勤县| 长葛市| 乌拉特中旗| 江阴市| 辽宁省| 额济纳旗| 辽宁省| 云南省| 岐山县| 中卫市| 个旧市| 尚义县| 民县| 新巴尔虎右旗| 禹州市| 肇东市| 洛阳市| 化隆| 黑水县| 科技| 璧山县| 韶山市| 阳城县| 休宁县| 鄯善县| 屏山县| 邻水| 东城区| 屯留县| 扶风县| 修武县| 大田县| 桓仁| 扶余县| 衢州市| 龙山县| 大名县| 比如县| 商都县| 竹北市|