一、新建maven项目
File-> new -> project..
(一) 1、选择maven; 2、选择jdk版本,我的是1.8.0_45; 3、勾选Create from archetype; 4、选择maven-archetype-webapp; 5、Next
(二)1、创建项目名称; 2、项目包名; 3、Next;
(三) 1、maven所在的路径; 2、maven的配置文件位置; 3、maven本地仓库地址; 4、Finish
下面是创建好的maven项目架构:
二、添加Spring、SpringMVC和MyBatis框架支持
(一)、添加pom文件依赖(在这儿添加了spring的依赖项和一些必须的依赖)
UTF-8
1.7
1.7
4.3.7.RELEASE
org.slf4j
slf4j-api
1.7.7
ch.qos.logback
logback-core
1.1.1
ch.qos.logback
logback-classic
1.1.1
mysql
mysql-connector-java
6.0.6
runtime
com.alibaba
druid
1.0.18
org.mybatis
mybatis
3.3.0
org.mybatis
mybatis-spring
1.2.3
commons-dbcp
commons-dbcp
1.2.2
taglibs
standard
1.1.2
jstl
jstl
1.2
com.fasterxml.jackson.core
jackson-databind
2.5.0
javax.servlet
javax.servlet-api
3.1.0
org.springframework
spring-core
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-test
${spring.version}
commons-io
commons-io
1.3.2
commons-fileupload
commons-fileupload
1.2.1
com.alibaba
fastjson
1.2.35
(注意1.0:因为依赖项中已经添加了Spring的依赖,咱们先到项目配置中删掉Spring,为下一步添加框架支持做准备)
File --> Project Structore
(二)、在项目名称上 右键 --> Add Framework Support..
(1)、勾选Spring ; (2)、勾选SpringMVC ;(3)、OK;
(注意1.1 :此时如果没有SpringMVC的可能是插件没导入,去File-setting-plugins中下载需要的插件)
此时项目中多了两个配置文件:applicationContext.xml和dispatcher-servlet.xml:
(三)、完善项目结构:(我习惯把配置文件放在resources下)
这是现在的目录:
创建完成,给java,resources和test创建标记 File-->Project Structure
(四)、配置文件web.xml、 appplicationContext.xml 和 dispatcher-servlet.xml 以及jdbc.properties
(1)、web.xml:
Archetype Created Web Application
index.jsp
springMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:dispatcher-servlet.xml
1
true
springMVC
/
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
(2)、appplicationContext.xml
(3)、dispatcher-servlet.xml
(4)、jdbc.properties
jdbc.username=root
jdbc.password=root
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_demo?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=UTC
jdbc.initPoolSize=5
jdbc.maxPoolSize=10
三、配置tomcat,测试项目启动
(一)、添加tomcat并配置
(二)、选择tomcat; 选择浏览器; 选择jdk; 其他的可以用默认,也可以自己配置; 最后点击ok
(三)、启动tomcat,因为在web.xml中配置了启动页面是index.jsp,本来helloworld稳稳的出现,
但是,tomcat启动报错:
解决:把jdbc.properties配置文件第一行空着(原因可以自己去探究,并不是每次创建ssm项目都会这样)
下面就是正常启动的hello world!
四、测试数据库连接和查询数据
(一)、事实上,经过上述配置,tomcat成功启动,就表示数据库已经连接成功,接下来是要测试数据是否能查询到:
这是数据库的一个基础表:
(二)、写controller、service、dao三层的demo
目前的目录结构:
(三)、demo数据:
1.ExampleMapper.java:
package com.ssmDemo.dao;
import org.springframework.stereotype.Component;
@Component("exampleMapper")
public interface ExampleMapper {
String findName(int id);
}
2.ExampleMapper.xml:
3.ExampleService.java:
package com.ssmDemo.service;
public interface ExampleService {
String findName(int id);
}
4.ExampleServiceImpl.java:
package com.ssmDemo.service.impl;
import com.ssmDemo.dao.ExampleMapper;
import com.ssmDemo.service.ExampleService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service("exampleService")
public class ExampleServiceImpl implements ExampleService {
@Resource(name = "exampleMapper")
private ExampleMapper exampleMapper;
@Override
public String findName(int id) {
return exampleMapper.findName(id);
}
}
5.ExampleController.java:
package com.ssmDemo.controller;
import com.ssmDemo.service.ExampleService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
@Controller
@RequestMapping("/example")
public class ExampleContreller {
@Resource(name = "exampleService")
private ExampleService exampleService;
@RequestMapping("/name")
@ResponseBody
public String demoData() {
return exampleService.findName(1);
}
}
(四)、启动tomcat,输入url:http://localhost:8080/ssmDemo_war_exploded/example/name:
转载:https://www.cnblogs.com/steveshao/p/12588162.html(好记性不如烂笔头)