1.配置springMVC框架

第一步:导入包依赖

  1. <!--配置springMVC-->
  2. <dependency>
  3. <groupId>javax.servlet.jsp</groupId>
  4. <artifactId>javax.servlet.jsp-api</artifactId>
  5. <version>2.3.3</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>javax.servlet</groupId>
  9. <artifactId>javax.servlet-api</artifactId>
  10. <version>3.1.0</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.springframework</groupId>
  14. <artifactId>spring-webmvc</artifactId>
  15. <version>5.1.7.RELEASE</version>
  16. </dependency>

依赖包

第二部:编写web.xml--设置前端控制器

  1. <servlet>
  2. <servlet-name>DispatcherServlet</servlet-name>
  3. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  4. <init-param>
  5. <param-name>contextConfigLocation</param-name>
  6. <param-value>org.kong.config</param-value>
  7. </init-param>
  8. <init-param>
  9. <param-name>contextClass</param-name>
  10. <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
  11. </init-param>
  12. <load-on-startup>1</load-on-startup>
  13. </servlet>
  14. <servlet-mapping>
  15. <servlet-name>DispatcherServlet</servlet-name>
  16. <url-pattern>/</url-pattern>
  17. </servlet-mapping>

web.xml

第三部:编写springMVC配置类

  1. 1 package org.kong.config;
  2. 2 import org.springframework.context.annotation.ComponentScan;
  3. 3 import org.springframework.context.annotation.Configuration;
  4. 4 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  5. 5
  6. 6 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  7. 7
  8. 8 @SuppressWarnings("deprecation")
  9. 9 @Configuration
  10. 10 //开启包扫描注解
  11. 11 @ComponentScan(basePackages="org.kong")
  12. 12 //开启mvc注解驱动
  13. 13 @EnableWebMvc
  14. 14 public class MVCconfig extends WebMvcConfigurerAdapter {
  15. 15
  16. 16 }mvc

mvc配置类

第四部:编写controller组件类

  1. 1 package org.kong.controller;
  2. 2
  3. 3 import org.springframework.stereotype.Controller;
  4. 4 import org.springframework.web.bind.annotation.RequestMapping;
  5. 5
  6. 6 @Controller
  7. 7 public class Test {
  8. 8 @RequestMapping("/hellow")
  9. 9 public String hello() {
  10. 10 System.out.println("hellow");
  11. 11 return null;
  12. 12
  13. 13 }

通过url访问得到

2.配置Mybatis框架

项目导入依赖

  1. 1 <dependency>
  2. 2 <groupId>org.apache.commons</groupId>
  3. 3 <artifactId>commons-dbcp2</artifactId>
  4. 4 <version>2.2.0</version>
  5. 5 </dependency>
  6. 6 <dependency>
  7. 7 <groupId>org.springframework</groupId>
  8. 8 <artifactId>spring-jdbc</artifactId>
  9. 9 <version>4.3.20.RELEASE</version>
  10. 10 </dependency>
  11. 11 <dependency>
  12. 12 <groupId>org.mybatis</groupId>
  13. 13 <artifactId>mybatis</artifactId>
  14. 14 <version>3.4.4</version>
  15. 15 </dependency>
  16. 16 <dependency>
  17. 17 <groupId>org.mybatis</groupId>
  18. 18 <artifactId>mybatis-spring</artifactId>
  19. 19 <version>1.3.1</version>
  20. 20 </dependency>
  21. 21 <dependency>
  22. 22 <groupId>mysql</groupId>
  23. 23 <artifactId>mysql-connector-java</artifactId>
  24. 24 <version>5.1.30</version>

配置mybatis配置类

  1. package org.kong.config;
  2.  
  3. import javax.sql.DataSource;
  4.  
  5. import org.apache.commons.dbcp2.BasicDataSource;
  6. import org.apache.ibatis.annotations.Mapper;
  7. import org.apache.ibatis.session.SqlSessionFactory;
  8. import org.mybatis.spring.SqlSessionFactoryBean;
  9. import org.mybatis.spring.annotation.MapperScan;
  10. import org.springframework.beans.factory.annotation.Value;
  11. import org.springframework.context.annotation.Bean;
  12. import org.springframework.context.annotation.Configuration;
  13. import org.springframework.jdbc.datasource.DataSourceTransactionManager;
  14. import org.springframework.transaction.annotation.EnableTransactionManagement;
  15.  
  16. @Configuration
  17. //3.动态创建代理对象
  18. @MapperScan(basePackages="org.kong.mapper",annotationClass=Mapper.class)
  19. @EnableTransactionManagement // <tx:annotaion-driver>
  20. public class DataConfig {
  21. @Value("${db.driverClassName}")
  22. private String driverClassName;
  23.  
  24. @Value("${db.url}")
  25. private String url;
  26.  
  27. @Value("${db.username}")
  28. private String username;
  29.  
  30. @Value("${db.password}")
  31. private String password;
  32.  
  33. // 1.数据源
  34. @Bean
  35. public DataSource getDataSource() {
  36. BasicDataSource basicDataSource = new BasicDataSource();
  37. basicDataSource.setDriverClassName(driverClassName);
  38. basicDataSource.setUrl(url);
  39. basicDataSource.setUsername(username);
  40. basicDataSource.setPassword(password);
  41. basicDataSource.setMaxTotal(10);
  42. basicDataSource.setMaxWaitMillis(30000);
  43. return basicDataSource;
  44. }
  45. // 2.会话工厂
  46. @Bean
  47. public SqlSessionFactory getSqlSessionFactory() {
  48. SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
  49. SqlSessionFactory sessionFactory = null;
  50. try {
  51. sqlSessionFactoryBean.setDataSource(this.getDataSource());
  52. sqlSessionFactoryBean.afterPropertiesSet();
  53. sessionFactory = sqlSessionFactoryBean.getObject();
  54. } catch (Exception e) {
  55. e.printStackTrace();
  56. }
  57. return sessionFactory;
  58. }
  59. //4.事务代理对象
  60. @Bean
  61. public DataSourceTransactionManager getTransactionManager() {
  62. DataSourceTransactionManager tm=new DataSourceTransactionManager();
  63. //指定数据源
  64. tm.setDataSource(this.getDataSource());
  65. return tm;
  66. }
  67.  
  68. }

测试

  1. 1 package org.kong.test;
  2. 2
  3. 3 import java.sql.SQLException;
  4. 4 import java.util.List;
  5. 5 import java.util.Map;
  6. 6
  7. 7 import javax.sql.DataSource;
  8. 8
  9. 9 import org.junit.Test;
  10. 10 import org.junit.runner.RunWith;
  11. 11 import org.kong.config.ContextConfig;
  12. 12 import org.kong.config.DataConfig;
  13. 13 import org.kong.mapper.PapperMapper;
  14. 14 import org.springframework.beans.factory.annotation.Autowired;
  15. 15 import org.springframework.test.context.ContextConfiguration;
  16. 16 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  17. 17 import org.springframework.test.context.web.WebAppConfiguration;
  18. 18
  19. 19
  20. 20
  21. 21 @RunWith(SpringJUnit4ClassRunner.class)
  22. 22 @ContextConfiguration(classes={DataConfig.class,ContextConfig.class})
  23. 23 @WebAppConfiguration
  24. 24 public class Test01 {
  25. 25 @Autowired
  26. 26 private DataSource dataSource;
  27. 27 @Autowired
  28. 28 private PapperMapper papperMapper;
  29. 29
  30. 30
  31. 31 @Test
  32. 32 public void dataSource() {
  33. 33 try {
  34. 34 System.out.println(dataSource.getConnection());
  35. 35 } catch (SQLException e) {
  36. 36 // TODO Auto-generated catch block
  37. 37 e.printStackTrace();
  38. 38 }
  39. 39
  40. 40 }
  41. 41
  42. 42 @Test
  43. 43 public void hh() {
  44. 44 List<Map<String, Object>> fillALL = papperMapper.fillALL();
  45. 45
  46. 46 for (Map<String, Object> map : fillALL) {
  47. 47 System.out.println(map);
  48. 48 }
  49. 49 }
  50. 50
  51. 51
  52. 52 }

使用maven纯注解集成ssm的更多相关文章

  1. Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例

    Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例 转自:通过注解的方式集成Spring 4 MVC+Hibernate 4+MySQL+Maven,开发项目样例 ...

  2. maven 纯注解一步一步搭建Spring Mvc项目(入门)

    初次接触spring MVC项目,通过一段时间的学习,本文介绍一种以纯注解的方法去配置spring MVC环境,让那些配置的.xml文件统统见鬼吧. 什么是Spring MVC Spring MVC属 ...

  3. Spring4 MVC+Hibernate4+MySQL+Maven使用注解集成实例

    在本教程中,我们将使用基于注解的配置集成Spring和Hibernate. 我们将开发包含表单要求用户输入一个简单的CRUD为导向Web应用程序,使用Hibernate保存输入的数据到 MySQL 数 ...

  4. Spring MVC4 纯注解配置教程

    阅读本文需要又一定的sping基础,最起码要成功的运行过一个SpringMvc项目. 在传统的Spring项目中,我们要写一堆的XML文件.而这些XML文件格式要求又很严格,很不便于开发.而网上所谓的 ...

  5. springboot2.x纯注解整合dubbo

    springboot1.x和springboot2.x整合差距挺大的,基于最新的2.x进行整合,使用纯注解的方式 依赖选取 首先pom文件的依赖引入,maven仓库有Apache和alibaba两个 ...

  6. Shiro集成SSM基于动态URL权限管理(二)

    这个案例基于上一个demo扩展而来.所以数据库表,在Shiro集成SSM基于URL权限管理(一)开篇的一致.如果上个demo操作的建议重新导入一次,避免出现问题. 而这次都不是通过固定写在方法上的注解 ...

  7. spring boot纯注解开发模板

    简介 spring boot纯注解开发模板 创建项目 pom.xml导入所需依赖 点击查看源码 <dependencies> <dependency> <groupId& ...

  8. 学习笔记——Maven实战(四)基于Maven的持续集成实践

    Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...

  9. maven,spring,mybatis集成错误

    maven,spring,mybatis集成的时候单元测试junit测试没问题,但mvn jetty:run 就报错误 错误: org.apache.ibatis.binding.BindingExc ...

随机推荐

  1. 可爱的python

    可爱的python 作者:  哲思社区出版社: 电子工业出版社 优点 1. 案列讲解很详细,前几章的内容恰好是我想要了解的,例如利用python os模块读取磁盘的文件,或者获得文字的编码方式.这些内 ...

  2. JavaScript函数的高级用法

    1.函数的定义和调用 1.1函数的定义方式 方式1 函数声明方式 function 关键字 (命名函数) function fn(){} 方式2 函数表达式(匿名函数) var fn = functi ...

  3. for...in、for...of和forEach

    let arr = [1,2,3,4,5,6]; arr.name="AAA"; for(var i in arr){ //遍历的实际是对象的属性名臣,每一个元素的索引被视为一个属 ...

  4. 数据去重Distinct,IEqualityComparer,IEquatable

    很多情况下我们查询数据需要去重重复数据,下面就记录三个去重的方法. Distinct 最基本的去重形式,直接查询出数据后使用Distinct方法进行字段去重. var strList = new Li ...

  5. Kubernetes实战总结 - 阿里云ECS自建K8S集群

    一.概述 详情参考阿里云说明:https://help.aliyun.com/document_detail/98886.html?spm=a2c4g.11186623.6.1078.323b1c9b ...

  6. 【Android】AndroidStudio打包apk出现的一些问题 `Error:Execution failed for task ':app:lintVitalRelease'.

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985, QQ986945193 公众号:程序员小冰 1,错误代码: `Error:Execution fai ...

  7. Idea使用方式——创建类模板

    问题:创建类或接口时,要添加自定义的默认注释,比如版本,时间等.每个类修改显然不符合程序员的思路,有没有办法通过定义模板来实现? 使用Idea模板 Idea可听过创建类模板来实现. 功能路径:Sett ...

  8. Ignatius and the Princess IV (水题)

    "OK, you are not too bad, em... But you can never pass the next test." feng5166 says.  &qu ...

  9. ZT:C/C++ 字符串与数字相互转换

    转载地址:https://www.cnblogs.com/happygirl-zjj/p/4633789.html 一.利用stringstream类 1. 字符串到整数     stringstre ...

  10. Java线程本质

    java当中的线程和操作系统的线程是什么关系? 关于操作系统的线程 linux操作系统的线程控制原语 int pthread create(pthread t *thread, const pthre ...