年底了,开发了这么久来总结一下SpringMVC +Mybatis的开发,本文章使用Myeclipse+tomcat开发。首先先说一下这个项目开发可以使用maven管理jar包,也可以跟普通的项目一样,自己管理jar包。首先介绍一下使用maven来管理jar包的项,首先确认一下你的maven安装好了哦!!!
1**、快速搭建一个maven项目**,File–>new–>other–>maven Project选择好workspace,点击next–>web项目,填好group ID和artifact id,package选择war.新建立的maven项目如图3所示。
2、集成Spring
首先在pom.xml文件里面添加Spring相关的依赖。
<properties>
<spring.version>5.0.4.RELEASE</spring.version>
</properties>
<!-- spring start-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- Spring end -->
其次在src/main/java的目录下创建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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<context:component-scan base-package="com.ay"></context:component-scan>
</beans>
context:component-scan注解:扫描basepackage包或者子包下面所有的java类,并把匹配的java类注册成Bean,这里我们设置扫描com.ay包下的所有java类,接着在web.xml配置文件中添加如下代码:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<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>
</web-app>
context-param设置整个项目的全局变量,相当于设置了一个固定值,param-name是键,相当于就是参数名。param-value是值,相当于参数值。
ContextLoaderListener:ContextLoaderListener监听器实现了servletContextListener接口,其作用是启动web容器,自动装配applicationContext的配置信息,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。
最后在src/main/test目录下创建SpringTest测试类,具体代码如下:
package com.ay.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Service;
/**
* @author Ay
*/
@Service
public class SpringTest {
@Test
public void testSpring()
{
//获取运用上下文
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取springTest类
SpringTest springTest = (SpringTest) applicationContext.getBean("springTest");
//调用sayHello方法
springTest.sayHello();
}
public void sayHello()
{
System.out.println("hello say");
}
}
@Service:spring会自动扫描到@service注解的类,并把这些类纳入Spring容器中管理,也可以用@component注解,只是@service注解更能表明该类是服务层类。
ApplicationContext容器:ApplicationContext是Spring中较高级的容器,它可以加载配置文件中的bean,并将所有的bean集中在一起,当有请求的时候分配bean。
运行上面代码的单元测试方法testSpring(),便可以在Myeclipse控制台看到如下所示的结果,表示web应用集成Spring框架成功。