您的位置:首页 > 编程语言 > Java开发

java的ssm框架整合详细步骤,复制粘贴,直接可用(初级)

2017-02-21 15:14 453 查看


一:先整合spring+myba
4000
tis框架

1.创建一个javaweb工程
步骤省略(请参考百度)
2.导入spring,mybatis,c3p0,oracle/mysql和mybatis提供的与spring整合的插件包,需要哪个导入哪个
mysql的jar:
mysql-connector-java-5.1.7-bin.jar

oracle的jar:
ojdbc5.jar

c3p0的jar:
c3p0-0.9.1.2.jar

mybatis的jar:
asm-3.3.1.jar

cglib-2.2.2.ja

commons-logging-1.1.1.jar

mybatis-3.1.1.jar
mybatis与spring整合的jar
mybatis-spring-1.1.1.jar
spring的ioc模块的jar:
org.springframework.asm-3.0.5.RELEASE.jar
org.springframework.beans-3.0.5.RELEASE.jar
org.springframework.context-3.0.5.RELEASE.jar
org.springframework.core-3.0.5.RELEASE.jar
org.springframework.expression-3.0.5.RELEASE.jar
commons-logging.jar
spring的aop模块的jar:
aopalliance.jar
aspectjweaver.jar
cglib-2.2.2.jar
org.springframework.aop-3.0.5.RELEASE.jar
spring的transaction模块的jar:
org.springframework.jdbc-3.0.5.RELEASE.jar
org.springframework.orm-3.0.5.RELEASE.jar
org.springframework.transaction-3.0.5.RELEASE.jar

3.创建emps.sql表,使用oracle或mysql语法

createtableemps(

sidint(5)primarykey,

snamevarchar(10),

ssaldouble(8,2)

);

[/code]

然后随便插入几条数据

4.创建Emp.java类

publicclassEmp{


privateIntegerid;//编号

privateStringname;//姓名

privateDoublesal;//薪水

publicEmp(){}

publicEmp(Integerid,Stringname,Doublesal){

this.id=id;

this.name=name;

this.sal=sal;

}

publicIntegergetId(){

returnid;

}

publicvoidsetId(Integerid){

this.id=id;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicDoublegetSal(){

returnsal;

}

publicvoidsetSal(Doublesal){

this.sal=sal;

}

}

[/code]

5.创建EmpMapper.xml映射文件

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">


<mappernamespace="empNameSpace">


<resultMaptype="com.test.ssm.entity.Emp"id="empMap">

<idproperty="id"column="sid"/>

<resultproperty="name"column="sname"/>

<resultproperty="sal"column="ssal"/>

</resultMap>


<insertid="add">

insertintoemps(sid,sname,ssal)values(#{id},#{name},#{sal})

</insert>


</mapper>

[/code]

6.创建mybatis.xml配置文件

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">



<configuration>


<mappers>

<mapperresource="com/test/ssm/entity/EmpMapper.xml"/>

</mappers>



</configuration>

[/code]

<mapperresource="com/test/ssm/entity/EmpMapper.xml"/>一定不能忘了引用

7.创建EmpDao.java类

importorg.apache.ibatis.session.SqlSession;

importorg.apache.ibatis.session.SqlSessionFactory;


importcom.test.ssm.entity.Emp;


publicclassEmpDao{


privateSqlSessionFactorysqlSessionFactory;


publicvoidsetSqlSessionFactory(SqlSessionFactorysqlSessionFactory){

this.sqlSessionFactory=sqlSessionFactory;

}


/**

*增加员工

*@paramemp

*/

publicvoidadd(Empemp)throwsException{

SqlSessionsqlSession=sqlSessionFactory.openSession();

/**

*参数一:empNameSpaceEmpMapper.xml中的namespace

*参数二:addEmpMapper.xml中的insert方法

*/

sqlSession.insert("empNameSpace.add",emp);

sqlSession.close();

}


}

[/code]

8.创建spring.xml配置文件

<?xmlversion="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: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

'target='_blank'>http://www.springframework.org/schema/beans/spring-beans-3.0.xsd[/code]

'target='_blank'>http://www.springframework.org/schema/context[/code]
'target='_blank'>http://www.springframework.org/schema/context/spring-context-3.0.xsd[/code]

http://www.springframework.org/schema/aop

'target='_blank'>http://www.springframework.org/schema/aop/spring-aop-3.0.xsd[/code]

'target='_blank'>http://www.springframework.org/schema/tx[/code]
'target='_blank'>http://www.springframework.org/schema/tx/spring-tx-3.0.xsd[/code]

'target='_blank'>http://www.springframework.org/schema/mvc[/code]
'target='_blank'>http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd[/code]

">



<!--配置C3P0连接池,目的:管理数据库连接-->

<beanid="comboPooledDataSourceID"class="com.mchange.v2.c3p0.ComboPooledDataSource">

<propertyname="driverClass"value="com.mysql.jdbc.Driver"/>

<propertyname="jdbcUrl"value="jdbc:mysql://127.0.0.1:3306/mybatis"/>

<propertyname="user"value="root"/>

<propertyname="password"value="123"/>

</bean>



<!--配置SqlSessionFactoryBean,目的:加载mybaits配置文件和映射文件,即替代原Mybatis工具类的作用-->

<beanid="sqlSessionFactoryBeanID"class="org.mybatis.spring.SqlSessionFactoryBean">

<propertyname="configLocation"value="classpath:mybatis.xml"/>

<propertyname="dataSource"ref="comboPooledDataSourceID"/>

</bean>



<!--配置Mybatis的事务管理器,即因为Mybatis底层用的是JDBC事务管事器,所以在这里依然配置JDBC事务管理器-->

<beanid="dataSourceTransactionManagerID"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<propertyname="dataSource"ref="comboPooledDataSourceID"/>

</bean>



<!--配置事务通知,即让哪些方法需要事务支持-->

<tx:adviceid="tx"transaction-manager="dataSourceTransactionManagerID">

<tx:attributes>

<tx:methodname="*"propagation="REQUIRED"/>

</tx:attributes>

</tx:advice>



<!--配置事务切面,即让哪些包下的类需要事务-->

<aop:config>

<aop:pointcutid="pointcut"expression="execution(*com.ssm.test.dao.*.*(..))"/>

<aop:advisoradvice-ref="tx"pointcut-ref="pointcut"/>

</aop:config>






<!--注册EmpDao-->

<beanid="empDaoID"class="com.test.ssm.dao.EmpDao">

<propertyname="sqlSessionFactory"ref="sqlSessionFactoryBeanID"/>

</bean>



<!--注册EmpService以后有service和action的时候解开这些注释

<beanid="empServiceID"class="com.test.ssm.service.EmpService">

<propertyname="empDao"ref="empDaoID"/>

</bean>



注册EmpAction

<context:component-scanbase-package="com.test.ssm.action"/>


通知springioc容器这些注解的作用

<context:annotation-config/>


视图解析器

<beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">

<propertyname="prefix"value="/jsp/"/>

<propertyname="suffix"value=".jsp"/>

</bean>

-->

</beans>

[/code]

9.创建test测试

importorg.junit.Test;

importorg.springframework.context.ApplicationContext;

importorg.springframework.context.support.ClassPathXmlApplicationContext;


importcom.test.ssm.dao.EmpDao;

importcom.test.ssm.entity.Emp;


/**

*单元测试

*@authorLuo_xuri

*

*/

publicclassTestEmpDao{


//spring+mybatis测试

@Test

publicvoidtest()throwsException{

ApplicationContextac=newClassPathXmlApplicationContext(newString[]{"spring.xml"});

EmpDaoempDao=(EmpDao)ac.getBean("empDaoID");

empDao.add(newEmp(1,"呵呵",8000D));

}

}

[/code]

二:再将springMVC和spring+mybatis框架整合

1.在WebRoot目录下创建register.jsp

<%@pagelanguage="java"pageEncoding="UTF-8"%>

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

<html>

<head>

<title>员工注册</title>

</head>


<body>

<formaction="${pageContext.request.contextPath}/emp/register.action"method="POST">

<tableborder="2"align="center">

<tr>

<th>编号</th>

<td><inputtype="text"name="id"></td>

</tr>

<tr>

<th>姓名</th>

<td><inputtype="text"name="name"></td>

</tr>

<tr>

<th>薪水</th>

<td><inputtype="text"name="sal"></td>

</tr>

<tr>

<tdcolspan="2"align="center">

<inputtype="submit"value="注册"/>

</td>

</tr>

</table>

</form>

</body>

</html>

[/code]

2.导入mybatis相关的jar包,从1.2中找
没有相关jar请找百度

3.配置web.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="2.5"

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

'target='_blank'>http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">[/code]

<!--核心springmvc核心控制器-->

<servlet>

<servlet-name>DispatcherServlet</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:spring.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>DispatcherServlet</servlet-name>

<url-pattern>*.action</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>

[/code]

4.创建EmpService

importcom.test.ssm.dao.EmpDao;

importcom.test.ssm.entity.Emp;


publicclassEmpService{


privateEmpDaoempDao;


publicvoidsetEmpDao(EmpDaoempDao){

this.empDao=empDao;

}


/**

*注册员工

*/

publicvoidregister(Empemp)throwsException{

empDao.add(emp);

}


}

[/code]

5.创建EmpAction

importjavax.annotation.Resource;


importorg.springframework.stereotype.Controller;

importorg.springframework.web.bind.annotation.RequestMapping;


importcom.ssm.test.entity.Emp;

importcom.ssm.test.service.EmpService;


/**

*单例

*控制器

*@authorLuo_xuri

*

*/

@Controller

@RequestMapping(value="/emp")

publicclassEmpAction{


privateEmpServiceempService;

@Resource(name="empServiceID")

publicvoidsetEmpService(EmpServiceempService){

this.empService=empService;

}


/**

*注册员工

*/

@RequestMapping(value="/register")

publicStringregisterMethod(Empemp)throwsException{

empService.register(emp);

return"success";

}

}

[/code]

6.再次配置spring.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<beans

······

">


······


<!--注册EmpDao-->

<beanid="empDaoID"class="com.test.ssm.dao.EmpDao">

<propertyname="sqlSessionFactory"ref="sqlSessionFactoryBeanID"/>

</bean>



<!--注册EmpService-->

<beanid="empServiceID"class="com.test.ssm.service.EmpService">

<propertyname="empDao"ref="empDaoID"/>

</bean>



<!--注册EmpAction-->

<context:component-scanbase-package="com.test.ssm.action"/>


<!--通知springioc容器这些注解的作用-->

<context:annotation-config/>


<!--视图解析器-->

<beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">

<propertyname="prefix"value="/jsp/"/>

<propertyname="suffix"value=".jsp"/>

</bean>


</beans>

[/code]

7.在WebRoot/jsp目录下创建success.jsp

<%@pagelanguage="java"pageEncoding="UTF-8"%>

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

<html>

<head>

<title>员工注册</title>

</head>


<body>

注册成功<br>

</body>

</html>

[/code]

8.配置tomcat且运行
具体配置请百度

9.IE中输入localhost:8080/项目名/register.jsp,成功跳转到success.jsp则ssm框架整合成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: