`
xp_p
  • 浏览: 4699 次
社区版块
存档分类
最新评论

配置Spring MVC

阅读更多
一,Spriing MVC 的使用
a.在generatorConfig(mysql).xml配置mybatis实体类进行自动生成bean,Mappper,dao等。
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >

<generatorConfiguration>
	<!-- 设置mysql自动生成文件jar包路径 -->
	<classPathEntry
		location="./WebContent/WEB-INF/lib/mybatis-generator-core-1.3.1.jar" />
	<!-- 此处指定生成针对MyBatis3的DAO -->
	<context id="context" targetRuntime="MyBatis3">

		<commentGenerator>
			<property name="suppressAllComments" value="true" />
			<property name="defaultModelType" value="hierarchical"/>
		</commentGenerator>

		<!-- jdbc连接信息 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://localhost:3306/db" userId="root" password="123456" />

		<!-- 生成entity对象及保存路径 -->
		<javaModelGenerator targetPackage="com.controller.bean"
			targetProject="src" />

		 <!-- 生成xml文件以及配置文件及保存路径 -->
		<sqlMapGenerator targetPackage="com.controller.mapper"
			targetProject="src" />

		<!-- 生成用于查询的dao对象及保存路径 -->
		 <javaClientGenerator targetPackage="com.controller.dao"
			targetProject="src" type="XMLMAPPER" /> 


	<!-- 想要生成的数据库表,自动化工具会根据该表的结构生成相应的vo对象 -->
		
		<table schema="" tableName="数据库表名"
			domainObjectName="生成实体类名" enableCountByExample="false"
			enableUpdateByExample="false" enableDeleteByExample="false"
			enableSelectByExample="false" selectByExampleQueryId="false" />
			
	</context>

</generatorConfiguration>

b.在MyBatisGeneratorTool.java程序中进行读取生成相应的文件,生成之后刷新即可看到。

package config.mybatis;

import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

/**
 * MyBatis工具类:自动生成代码
 * @author Studio
 *
 */
public class MyBatisGeneratorTool_mysql {
	
	private static Logger log = Logger.getLogger(MyBatisGeneratorTool_mysql.class);
	
	public static void main(String[] args){
		
		try {
			
			// 读取使用Java的特性文件编写的配置文件。
//			PropertyConfigurator.configure("//config//mybatis//log4j.properties");
			
			List<String> warnings = new ArrayList<String>();
			
			boolean overwrite = true;
			
			// generator文件路径
			String genCfg = "/config/mybatis/generatorConfig(mysql).xml"; 
			log.info(" generator path :"+ genCfg);
			
			File configFile = new File(MyBatisGeneratorTool_mysql.class.getResource(genCfg).getFile());
			
			ConfigurationParser configPaser = new ConfigurationParser(warnings);
			
			Configuration config = configPaser.parseConfiguration(configFile);
			
			DefaultShellCallback callback = new DefaultShellCallback(overwrite);
			
			MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
			
			myBatisGenerator.generate(null);
			
			log.debug("successful!!!");
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (XMLParserException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvalidConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
			
	}
}

c.配置sqlMapConfig.xml文件,添加实体类与别名,导入相应的mapper与对应的xml文件。

<?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>
	<!-- 添加别名 -->
	<typeAliases>
		<typeAlias type="com.controller.bean.Users" alias="Users" />
	</typeAliases>

	<!-- 导入mapper配置文件 -->
	<mappers>
		<mapper resource="com/controller/mapper/UsersMapper.xml" />
	</mappers>
	
</configuration>

d,配置beans,让dao,impl,service之间交互。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [
<!ENTITY contextInclude SYSTEM "org/springframework/web/context/WEB-INF/contextInclude.xml">
]>
	<!-- 配置bean -->
<beans>
<!-- tuanshang_users配置 -->

 	<bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
		<property name="mapperInterface" value="com.controller.dao.UsersMapper"></property>
		<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
	</bean>
	<bean id="userServiceBase" class="com.controller.business.login.service.impl.IUserMapperImpl">
		<property name="usermapper" ref="userDao"></property>	
	</bean>
	<bean id="userService" parent="transactionBese">
		<property name="target" ref="userServiceBase"></property>
	</bean> 
</beans>
e,编写程序相关的dao,impl,service层并传递到controller进行操作到相应的jsp页面。

二,Spring MVC注解
1,导入注解需要使用的jar包放置到lib目录
2,配置spring.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans  
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
      http://www.springframework.org/schema/context  
      http://www.springframework.org/schema/context/spring-context.xsd  
      http://www.springframework.org/schema/mvc  
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
	<!-- 默认注解扫描包的路径 -->
	<context:component-scan base-package="com.controller" />
	<!-- 导入注解所需要的jar包 -->
	<mvc:annotation-driven />
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
	<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>


	<!-- 静态资源访问 -->
	<mvc:resources location="/images/" mapping="/images/**" />
	<mvc:resources location="/img/" mapping="/img/**" />
	<mvc:resources location="/js/" mapping="/js/**" />
	<mvc:resources location="/css/" mapping="/css/**" />
	<mvc:resources location="/airline/" mapping="/airline/**" />

	<!--定义跳转文件的前后缀  -->
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

	<!--配置表单上传的视图解析器 -->
	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="defaultEncoding" value="utf-8" />
		<property name="maxUploadSize" value="10485760000" />
		<property name="maxInMemorySize" value="40960" />
	</bean>

	<!-- <bean id="initCity" class="com.controller.business.reservation.service.serviceImpl.InitBean" 
		init-method="createPool"> </bean> -->
</beans>  
3,使用注解-->常用注解
@Controller 用于action类上,声明Action组件
@Service    用于service或biz的类上声明Service组件 @Service("serviceName") 
@Repository 用于dao包下的类上声明Dao组件 @Repository("daoName")
@Component  用于不确定类上 引号中的内容表示给组件取名字,相当于bean标签中的id属性值<bean id="person"> @Component("className") 
@RequestMapping("/url")  用于用户请求映射的地址   @RequestMapping("/loginJump")
@Resource  用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName") 
@Autowired 用于注入,(srping提供的) 默认按类型装配 
@Transactional( rollbackFor={Exception.class}) 事务管理
@Scope("prototype")   设定bean的作用域
@PostConstruct  注解实始化方法
@PreDestroy 注解销毁方法
@ModelAttribute("reg_form") 用于方法内作为参数


附:
如何使用Mybatis自动生成bean,Mappper,dao等。
	先导入需要使用的jar包:mybatis-generator-core-1.3.2.jar 放到项目的lib路径下.
	配置generatorConfig(mysql).xml,放到指定新建的包中,配置详情如下:
		<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >

<generatorConfiguration>
	<!-- 设置mysql自动生成文件jar包路径 -->
	<classPathEntry
		location="./WebContent/WEB-INF/lib/mybatis-generator-core-1.3.2.jar" />
	<!-- 此处指定生成针对MyBatis3的DAO -->
	<context id="context" targetRuntime="MyBatis3">

		<commentGenerator>
			<property name="suppressAllComments" value="true" />
			<property name="defaultModelType" value="hierarchical"/>
		</commentGenerator>

		<!-- jdbc连接信息 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://localhost:3306/db" userId="root"
			password="123456" />

		<!-- 生成entity对象及保存路径 -->
		<javaModelGenerator targetPackage="com.controller.bean"
			targetProject="src" />

		 <!-- 生成xml文件以及配置文件及保存路径 -->
		<sqlMapGenerator targetPackage="com.controller.mapper"
			targetProject="src" />

		<!-- 生成用于查询的dao对象及保存路径 -->
		 <javaClientGenerator targetPackage="com.controller.dao"
			targetProject="src" type="XMLMAPPER" /> 


		<!-- 想要生成的数据库表,自动化工具会根据该表的结构生成相应的vo对象 -->

		<table schema="" tableName="数据库表名"
			domainObjectName="生成entity对象名" enableCountByExample="false"
			enableUpdateByExample="false" enableDeleteByExample="false"
			enableSelectByExample="false" selectByExampleQueryId="false" />
					
<!-- 		<table schema="" tableName="qbz_users"
			domainObjectName="Users" enableCountByExample="false"
			enableUpdateByExample="false" enableDeleteByExample="false"
			enableSelectByExample="false" selectByExampleQueryId="false" /> -->
	</context>

</generatorConfiguration>

下面为自动生成文件的程序代码
	
package config.mybatis;

import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

/**
 * MyBatis工具类:自动生成代码
 * @author Studio
 *
 */
public class MyBatisGeneratorTool_mysql {
	
	private static Logger log = Logger.getLogger(MyBatisGeneratorTool_mysql.class);
	
	public static void main(String[] args){
		
		try {
			
			// 读取使用Java的特性文件编写的配置文件。
//			PropertyConfigurator.configure("//config//mybatis//log4j.properties");
			
			List<String> warnings = new ArrayList<String>();
			
			boolean overwrite = true;
			
			// generator文件读取路径
			String genCfg = "/config/mybatis/generatorConfig(mysql).xml"; 
			log.info(" generator path :"+ genCfg);
			
			File configFile = new File(MyBatisGeneratorTool_mysql.class.getResource(genCfg).getFile());
			
			ConfigurationParser configPaser = new ConfigurationParser(warnings);
			
			Configuration config = configPaser.parseConfiguration(configFile);
			
			DefaultShellCallback callback = new DefaultShellCallback(overwrite);
			
			MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
			
			myBatisGenerator.generate(null);
			
			log.debug("successful!!!");
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (XMLParserException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvalidConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
			
	}
}

解决项目中多个xml文件读取
在web.xml文件中增加配置如下:
 <init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>/WEB-INF/xxx/*.xml</param-value>     
      xxx表示xml文件路径    *.xml表示后缀名为xml的任意文件
</init-param>    
分享到:
评论

相关推荐

    Eclipse+tomcat+maven 配置Spring mvc图文教程.zip

    在配置Spring MVC项目时,你需要在pom.xml中声明Spring MVC和相关库的依赖,例如Spring Web、Spring Core、Spring Context等。 然后,Tomcat是一款开源的Servlet容器,常被用来部署和运行Java Web应用。在Eclipse中...

    Eclipse+tomcat+maven 配置Spring mvc图文教程

    【Eclipse+Tomcat+Maven 配置Spring MVC图文教程】 在开发Java Web应用程序时,集成Spring MVC框架是常见的需求。本教程将详细介绍如何在Eclipse IDE中配置开发环境,包括Eclipse、Tomcat服务器、Maven构建工具以及...

    Spring MVC 4.2.3

    2. **Java配置增强**:Spring 4.2.x系列进一步提升了Java配置的支持,使得在没有XML配置的情况下也能轻松地配置Spring MVC。 3. **RESTful支持**:Spring MVC提供了对RESTful风格的HTTP方法(如GET、POST、PUT、...

    Spring MVC 教程快速入门 深入分析

    七、Spring MVC如何访问到静态的文件:描述了如何配置Spring MVC来处理静态资源,如图片、JavaScript和CSS文件等。 八、Spring MVC请求如何映射到具体的Action中的方法:说明了如何配置映射器(HandlerMapping)将...

    SSM框架的配置搭建 spring、 spring mvc、 mybatis 整合详解

    4. **配置Spring MVC**:创建Spring MVC的配置文件,如`servlet-context.xml`,配置DispatcherServlet、视图解析器(如InternalResourceViewResolver)、拦截器等。 5. **配置MyBatis**:编写MyBatis的全局配置文件...

    Spring MVC 简单Demo

    配置Spring MVC通常涉及以下步骤: - 引入Spring MVC相关依赖。 - 配置web.xml,定义DispatcherServlet并加载Spring MVC的配置文件。 - 在Spring MVC配置文件中声明处理器映射器、视图解析器、以及自定义的控制...

    spring mvc mybatis 整合源码,带数据库脚本,带详细注释

    - 配置Spring MVC:在Spring的配置文件中,我们需要定义DispatcherServlet、视图解析器和处理器映射器等。 - 集成MyBatis:引入MyBatis的依赖,配置SqlSessionFactoryBean,创建MapperScannerConfigurer扫描Mapper...

    spring-MVC.zip_Java spring mvc_spring mvc_spring mvc

    在提供的"spring MVC.docx"文档中,可能详细介绍了如何配置Spring MVC环境,创建Controller,处理请求,以及如何配置视图解析器等内容。对于初学者来说,这是一份很好的实践指南,可以帮助理解Spring MVC的工作原理...

    Spring MVC+ Spring+ Mybatis 框架搭建

    接着,配置Spring MVC的DispatcherServlet-servlet.xml,设置视图解析器、拦截器等。对于Mybatis,需要编写Mapper XML文件和对应的Mapper接口,实现数据访问。 在实际开发中,我们通常会使用Spring Boot来简化SSM的...

    SPRING MVC配置过程

    SPRING MVC 配置过程 ...-- 配置Spring MVC --&gt; 通过对 SPRING MVC 的配置过程的详细解释,我们可以了解到 SPRING MVC 的基本架构和配置方法,从而更好地应用 SPRING MVC 框架来开发 WEB 应用程序。

    Spring mvc整合mybatis例子

    - **配置Spring MVC** 首先,我们需要创建Spring MVC的配置文件,比如`spring-mvc.xml`,其中包含视图解析器、模型-视图对象、以及Spring MVC的其他相关配置。 - **引入MyBatis** 在Spring配置文件中引入...

    精通Spring MVC4

    配置Spring MVC通常涉及web.xml文件中的DispatcherServlet配置,以及Spring配置文件中定义的Controller、ViewResolver和其他组件。Spring Boot简化了这一过程,通过自动配置和@SpringBootApplication注解可以快速...

    spring mvc restful service

    6. **配置Spring MVC**:在`DispatcherServlet`的配置文件(如`web.xml`)中,我们需要配置`DispatcherServlet`,并指向Spring MVC的配置文件。在Spring MVC配置文件中,我们需要设置视图解析器、映射处理器、数据...

    spring MVC_快速入门

    要使用Spring MVC,首先需要在项目中引入Spring MVC的依赖,并配置Spring的DispatcherServlet,它是Spring MVC的前端控制器,负责调度请求到相应的处理器。 3. **Controller** Controller是处理请求的组件,通常...

    spring mvc集成webservice

    4. **配置Spring MVC**:在Spring MVC的配置文件中,设置`WebServiceMessageReceiver`和`WebServiceTemplate`,并定义一个`@Controller`来处理HTTP请求,将请求转发到Web服务。 5. **客户端调用**:在Spring MVC...

    spring MVC的HelloWorld完整实例

    实例中可能包含一个或多个配置文件,如`spring-servlet.xml`,用于配置Spring MVC的组件,如视图解析器、拦截器、数据源、以及控制器的bean定义。 4. **HelloWorldController**: 这个名称暗示了项目中的核心控制...

    Spring MVC IDEA版本DEMO

    接着,我们需要配置Spring MVC的DispatcherServlet。在`webapp/WEB-INF`下创建`web.xml`,定义DispatcherServlet并指定Spring MVC的配置文件。 在`src/main/resources`下创建`applicationContext.xml`,这是Spring ...

    Spring MVC Cookbook(PACKT,2016).pdf

    2. **配置Spring MVC**:学习如何通过XML或Java配置来设置Spring MVC环境,包括servlet配置、组件扫描、MVC注解驱动等。 3. **Controller处理请求**:掌握@RequestBody、@RequestParam、@PathVariable等注解的用法...

    Spring mvc + Spring + Mybatis 整合demo

    3. **配置Spring MVC**:创建Spring MVC的配置文件(如`servlet-context.xml`),配置DispatcherServlet,声明视图解析器,定义拦截器,以及处理器映射器和处理器适配器。 4. **配置Mybatis**:编写Mybatis的全局...

Global site tag (gtag.js) - Google Analytics