一步一步用maven创建ssm的web项目

本文详细介绍了如何使用Maven创建SSM(Spring+SpringMVC+MyBatis)框架的Web项目,包括添加依赖、配置文件、整合Spring、SpringMVC及MyBatis的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果要快速搭建,或者要获取mybatis,spring等xml配置文件的文件头可以到这里去https://blog.youkuaiyun.com/qq_34968945/article/details/86513151

使用maven来创建SSM的web项目

第一步创建一个maven工程
在这里插入图片描述
创建一个空的maven工程
选择用jar
后面把它转化成web工程
创建成功后
选择项目右键->Properties->Project Facets
点击箭头指向的位置
在这里插入图片描述

点击选择Dynamic Web Module
再选择下面的
在这里插入图片描述
输入创建webapp的路径,选择创建web.xml文件,一直点击ok就可以了

在这里插入图片描述
这个时候已经是web工程了
但是没有添加tomcat还没有添加tomcat的依赖
右键项目->Build Path->Configure Build Path
打开后选择Add Library…
在这里插入图片描述
再选择Server Runtime
在这里插入图片描述
再选择要使用tomcat就可以了,如果有多个选择的话,尽量选择和自己使用的tomcat对应的版本或者更低,因为tomcat是可以向下兼容,就是如果你依赖7.0的,使用8.0的tomcat运行项目是没有问题的,但是反过来就不行了
在这里插入图片描述
这个时候就已经是一个web项目了,可以写一个页面启动tomcat测试一下。

在这里插入图片描述

接下来整合spring
添加spring和springmvc的依赖,一次解决

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-webmvc</artifactId>
	<version>4.3.7.RELEASE</version>
</dependency>
<!-- spring连接jdbc -->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-jdbc</artifactId>
	<version>4.3.7.RELEASE</version>
</dependency>
<!-- mysql数据库 -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.0.2</version>
</dependency>
<!-- spring连接mybatis -->
<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis-spring</artifactId>
	<version>1.3.2</version>
</dependency>
<!-- mybais的依赖 -->
<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis</artifactId>
	<version>3.4.6</version>
</dependency>
<!-- c3p0连接池 -->
<dependency>
	<groupId>com.mchange</groupId>
	<artifactId>c3p0</artifactId>
	<version>0.9.5.2</version>
</dependency>

然后在web.xml文件内添加配置spring的信息

<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath:applicationContext.xml</param-value>
</context-param>

<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

这个时候用tomcat跑一下,你会发现报错,但是不是找不到applicationContext.xml的错误。
在这里插入图片描述
没有找到spring的类,这是因为maven的jar没有被添加进来
选择项目右键->Properties->Deployment Assembly ,再选择Add…
在这里插入图片描述
选择Java Build Path Entries,再选择next
在这里插入图片描述
再选择Maven Dependencies确定就可以了
在这里插入图片描述

这个时候跑一下tomcat就会告诉你,找不到applicationContext.xml,就说明jar已经添加进来了
错误信息:
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist

把applicationContext.xml创建出来就好了
在这里插入图片描述
然后在src/main/resources文件下创建一个spring的配置文件applicationContext.xml
如果eclipse有装插件的话,直接生成spring的配置文件很方便,如果没有的话?最上面的连接里能找到文件头
在这里插入图片描述
这个时候跑tomcat就不会报错了
spring也整合进来了

测试一下spring有没有整合成功
在applicationContext.xml文件中添加扫描全局

<context:component-scan base-package="com.ssm"></context:component-scan>

在com.ssm.service包下创建一个UserService类

@Service
public class UserService {
	public void testSpring() {
		System.out.println("this is service...");
	}
}

创建一个测试类

public class SpringTest {
	@Test
	public void testSpring() {
		ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService userService = ctx.getBean(UserService.class);
		userService.testSpring();
	}
}

运行结果:
在这里插入图片描述

接下来整合springmvc了
依赖已经有了,直接配置就可以了,还是在web.xml添加springmvc的依赖
在web.xml内添加

<servlet>
	<servlet-name>springDispatcherServlet</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>
</servlet>
<servlet-mapping>
	<servlet-name>springDispatcherServlet</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

跑一下tomcat会提示springmvc.xml不存在
在src/main/resources下创建一个springmvc.xml的配置文件就可以了
接下来写springmvc.xml的配置信息

<!-- spirngmvc只扫描controller层就可以了,可以在applicationContext.xml文件中的context:component-scan标签下添加
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
这样spring和springmvc就各司其职了 -->
<context:component-scan base-package="com.ssm">
	<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/"></property>
	<property name="suffix" value=".jsp"></property>
</bean>

<mvc:annotation-driven/>

springmvc已经配置完了
可以写一个测试方法

@Controller
public class UserController {
	@RequestMapping("test")
	public String test() {
		return "index";
	}
}

在这里插入图片描述
成功跳转过去

最后要来配置mybatis了
在applicationContext.xml文件中配置mybatis的信息

	<!-- 扫描数据文件 -->
	<context:property-placeholder location="classpath:db.properties"/>
	<!-- 配置c3p0数据源 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="user" value="${user}"></property>
		<property name="password" value="${password}"></property>
		<property name="driverClass" value="${driverClass}"></property>
		<property name="jdbcUrl" value="${jdbcUrl}"></property>
	</bean>
	<!-- 配置mybatis -->
	<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="configLocation" value="classpath:mybatis-config.xml"></property>
		<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
	</bean>
	<!-- 扫描dao层 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.ssm.dao"></property>
	</bean>

在src/main/resources下创建一个mybatis-config.xml文件,保存mybatis的一些其他配置,例如添加分页插件
创建一个文件夹mapper存放与dao层对应的映射文件
在这里插入图片描述
再添加一个db.properties用来存放数据库连接信息
在这里插入图片描述
到这里mybatis就已经配置好了
测试一下
在dao层创建一个接口

public interface UserMapper {
	List<User> getUser();
}

在mapper文件夹下创建对应的映射文件,添加以下代码

<select id="getUser" resultType="com.ssm.bean.User">
select * from user
</select>

实体层就不写了
在service测试能不能调用dao层

	@Service
    public class UserService {
    	@Autowired
    	private UserMapper userMapper;
    	public void testSpring() {
    		List<User> list = userMapper.getUser();
    		for(User user : list) {
    			System.out.println(user);
    		}
    	}
    }

测试结果:
在这里插入图片描述
到这里ssm整合就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值