简单配置spring+springmvc+mybatis之整合
2017-04-29 12:14
465 查看
三大框架整合并没有想象中的那么难,只要足够细心,简单的把它配置出来还是不难,难的是继续深入理解,作为菜鸟的我还停留在想的阶段,由于涉世未深,望各位大神能指点一二。
-1、 三大框架整合,首先把需要的jar包准备齐全,在此不再啰嗦。
2、在数据库中创建一张实验表
3、基本环境配置
具体类如下
到此为止所有的基本代码已经写完,包ssm.orm中的东西是通过逆向工厂生成的,所以在此就不把代码贴出来了。捋一下思路,我是在controller层进行CURD操作的时候,需要向下一级service层提出请求,然后service层将请求提交给dao层,dao层通过mapper去操作数据库。也就有了如下关系
接下来写配置文件
从web.xml配起
springmvc配置文件
mybatis配置文件
applicationContext.xml
这样整个就配完成了。
测试
总结:框架整合给本人的感觉和单独配置springmvc,mybatis的时候没多大的区别,不过配置完成后这种层次感让人感觉到非常清晰。
-1、 三大框架整合,首先把需要的jar包准备齐全,在此不再啰嗦。
2、在数据库中创建一张实验表
3、基本环境配置
具体类如下
@Controller /*@Transactional*/ public class InsertUserinfo extends BaseAction{ @RequestMapping("/insertUserinfo") public String insertUserinfo(String username){ System.out.println("into insertUserinfo controller"); System.out.println(username); this.getAllService().getUSerinfoService().insertUserinfo("小白", "菜鸟", 12); return "index.jsp"; }
@Controller public class BaseAction { @Autowired private AllService allService; public AllService getAllService(){ System.out.println("allService.hashCode" +allService.hashCode()); return allService; } }
@Service public class UserinfoService { @Autowired private AllDao allDao; public void insertUserinfo(String username,String password,int age){ System.out.println("allDao.hashCode=" +allDao.hashCode()); Userifo userinfo=new Userifo(); userinfo.setUsernaem(username); userinfo.setPassword(password); allDao.getUserinfoDao().insertUserInfo(userinfo); } public Userifo serectuserbyid(int i) { return allDao.getUserinfoDao().selectuserbyid(i); } }
@Service public class AllService { @Autowired private UserinfoService userinfoService; public UserinfoService getUSerinfoService(){ System.out.println("userinfoService.hashCode="+ userinfoService.hashCode()); return userinfoService; } }
@Repository public class UserinfoDao { @Autowired private UserifoMapper userInfoMapper; public void insertUserInfo(Userifo userinfo){ System.out.println("userinfoMapper.hashCode=" +userInfoMapper.hashCode()); userInfoMapper.insert(userinfo); } public Userifo selectuserbyid(int id){ return userInfoMapper.selectByPrimaryKey(id); } }
@Repository public class AllDao { @Autowired private UserinfoDao userinfoDao; public UserinfoDao getUserinfoDao(){ System.out.println("userinfoDao.hashCode=" +userinfoDao.hashCode()); return userinfoDao; } }
到此为止所有的基本代码已经写完,包ssm.orm中的东西是通过逆向工厂生成的,所以在此就不把代码贴出来了。捋一下思路,我是在controller层进行CURD操作的时候,需要向下一级service层提出请求,然后service层将请求提交给dao层,dao层通过mapper去操作数据库。也就有了如下关系
接下来写配置文件
从web.xml配起
<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name></display-name> <filter> <filter-name>charFilter</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>charFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.spring</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file< d57e /span>> </welcome-file-list> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> </web-app>
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:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <context:component-scan base-package="controller"></context:component-scan> <aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy> <!-- 注解映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!-- 注解适配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> </bean> </beans>
mybatis配置文件
<?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> </configuration> <!-- 因为在连接数据库等信息在spring4配置文件中定义,所以在此配置的代码极少, 但要保持一些MyBatis的默认行为,还是可以在此文件中进行配置 -->
applicationContext.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:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!-- 加载java的配置文件 --> <!-- 进行包扫描,将dao和service包中的内容进行注入,注入方式是使用的注解 --> <context:component-scan base-package="ssm.dao"></context:component-scan> <context:component-scan base-package="ssm.service"></context:component-scan> <!-- 创建数据源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/day06" /> <property name="username" value="root" /> <property name="password" value="root" /> <!-- <property name="maxActive" value="10" /> <property name="maxIdle" value="5" /> --> </bean> <!-- 将数据源注入到seqSessionFactoryBean对象中 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 将sqlSessionFactory对象注入UserinfoMapper.java接口的代理实现类中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="ssm.orm"></property> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- 将dataSource对象关联到事务功能 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <tx:annotation-driven transaction-manager="transactionManager"/> </beans>
这样整个就配完成了。
测试
结果略。
总结:框架整合给本人的感觉和单独配置springmvc,mybatis的时候没多大的区别,不过配置完成后这种层次感让人感觉到非常清晰。
相关文章推荐
- 我的SpringMVC+mybatis整合配置
- SpringMVC+MyBatis整合(3)特别篇SpringMVC配置
- 关于spring+springMVC+myBatis的一些基础配置以及整合
- Spring+SpringMVC+Mybatis整合系列(一)Maven安装与配置
- SpringMVC+Spring+Mybatis整合配置
- 关于spring+springMVC+myBatis的一些基础配置以及整合
- 简单的SpringMVC+Mybatis整合
- springmvc+spring+mybatis整合的配置
- SpringMVC+Mybatis整合实现简单权限控制系统代码
- spring mvc+Mybatis整合shiro 第一章 整体配置
- spring mvc + mybatis + mysql 整合的一个简单的登录例子
- spring mvc +mybatis整合时要配置的连接文件
- spring mvc+mybatis+sql server简单配置
- Spring + mvc,Mybatis整合 (含事务配置,分页功能)
- spring+mybatis+springMvc+maven简单整合
- spring、mybatis、mvc 整合简单例子
- SSM整合配置文件(Springmvc+Spring+Mybatis)
- springmvc + spring + mybatis + maven整合配置文件
- 简单整合Spring+SpringMVC+Mybatis
- Spring、Spring MVC、MyBatis整合文件配置详解