你的位置:首页 > ASP.net教程

[ASP.net教程]springmvc mybatis 整合

1.       所需要Jar包.//Spring3.0.1包org.springframework.web-3.0.1 系列//公共包slf4j-api-1.5.6.jar       slf4j-log4j12-1.5.6.jar       log4j-1.2.13.jarcommons-logging-1.1.1.jar       asm-3.1.jar      cglib-2.2.jar//mybatis与Spring的整合所需的包mybatis-3.0.5.jar     aopalliance-1.0.jar   mybatis-spring-1.0.1.jarmybatis-generator-core-1.3.1.jar(mybatis代码生成器包)//jdbc drivenmysql-connector-java-3.1.6-bin.jar//JSR验证-Hibernate validate 4.1hibernate-validator-4.1.0.Final.jarvalidation-api-1.0.0.GA.jar//Spring Json 支持包jackson-all-1.8.1.jar2.       web.
Servlet配置org.springframework.web.servlet.DispatcherServletinit-param配置servlet初始化文件.以及servlet-mapping配置.应用路径配置webAppRootKeyLog4j配置Log4jConfigLocationLog4jRefreshIntervalSpring上下文配置contextConfigLocationSpring字符集过滤器配置org.springframework.web.filter.CharacterEncodingFilterSpring监听器配置org.springframework.web.context.ContextLoaderListener   log4j监听器配置org.springframework.web.util.Log4jConfigListener3.       spring mvc - servlet.
启动mvc注解驱动<mvc:annotation-driven/>组件scanner主要是自动去注入指定包里的对象<context:component-scanbase-package="com.los.mvc.controller"/>    ViewResolver & View 映射关系InternalResourceViewResolver 基于resource对jsp/jstl的支持<bean >       <property name="prefix" value="/WEB-INF/views/"/>       <property name="suffix" value=".jsp"/>       <!-- InternalResourceViewResolver viewClass默认值就是JstlView -->       <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>        </bean>自定义拦截器配置<mvc:interceptors>       <mvc:interceptor>           <mvc:mapping path="/json*"/>           <bean ></bean>       </mvc:interceptor>        </mvc:interceptors>国际化配置<bean id="messageSource" >       <property name="basename" value="message"></property>        </bean>4.  Spring上下文 -- applicationContext.
支持注解<bean ></bean><bean ></bean><import resource="service.
<import resource="dao.
<import resource="orm.
service.
5.  Mybatis3.0.5-Spring 整合 -- orm.
DataSource配置<bean id="dataSource" >        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>        <property name="url" value="jdbc:mysql://localhost:3306/mvc"/>        <property name="username" value="root" />        <property name="password" value="root" /></bean>注册事务管理器(Mybatis将事务转交给Spring来管理)<bean id="transactionManager" >        <property name="dataSource" ref="dataSource" /></bean>SqlSessionFactory配置(Mybatis核心是sqlSessionFactory来获取orm处理对象, dataSource, mapperLocations配置mybaits自动生成的
    <bean id="sqlSessionFactory" >        <property name="dataSource" ref="dataSource" />        <property name="mapperLocations" value="classpath:/com/los/mvc/mapper/*.
</bean>MapperScanner配置.自动去搜索mapper里的对象,并注入.<bean >        <property name="basePackage" value="com.los.mvc.dao" /></bean>启动Spring注解事务<tx:annotation-driven/>6.  mybatis自动生成器配置 -- generatorConfig.
sqlMapGenerator   sqlMpper.
javaClientGenerator   ModelDao生成器javaModelGenerator    Model生成器com.los.util.MBG.java 运行会自动生成mybatis代码.然后再配置orm.
7.  [email protected]@RequestMapping("/json")[email protected](method = RequestMethod.GET) 只有get方法才能访问.@ResponseBody 自动将返回的封装成json,方法返回值必须是map<String,?>类型.@RequestMapping(value="/doLogin") value=”doLogin”为访问该方法的handler mappingreturn "login/login";会通过ViewResolver找到对应的viewreturn "redirect:/user/toRegister.html";为spring-mvc的重定向.@InitBinder()为绑定器,可以为request传来的数据进行数据类型转换.数据自动验证方法中参数需要有后面的两个(@Valid User user,BindingResult result).@Valid的支持标准是JSR,Hibernate Validate 4是对该标准比较好的实现.需要在Model类中配置验证的注解.判断验证是否正确通过result.hasErrors()或者result.hasFieldErrors()来判断,通过result.getAllErrors()或者result.getFieldErrors()来获取Errors然后遍历Errors获取相关想要的信息,例如Error.getDeafaultMessage(),这个是获取错误信息.具体的错误验证机制还地在M[email protected] 会为该属性自动注入bean,[email protected]yName.8.  Service层配置.(业务层)[email protected] [email protected],分工更明细.@Transactional 可以为该业务类声明一个全类的事务.也可以将事务[email protected](readOnly = true)@Transactional(readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Exception.class) 类的事务声明,可以设置隔离级别和传播属性,以及要回滚的异常名或者异常类,不需要回滚的异常名或者异常类.异常通常抛出给c[email protected] @Resource9.  Repository层配置.(持久层DaoImpl)[email protected] [email protected],意为持久层,分工更明细.一般不在这层处理事务.10.Entry层配置(Model层)[email protected],常用的有:@[email protected]@Size(min=2,max=10,message=”xx必须在{min}和{max}之间”)@[email protected]@AssertFalse @[email protected]@[email protected](protocol=,host=, port=,regexp=, flags=)一般情况下属性或者方法可以放多个约束注解,hibernate validate会以随机的顺序去验证这些约束.所以多个注解约束会有可能同一个属性返回多个message.所以有时候需要只返回一条message,则需要使用验证组Groups来达成.组别序列可以把一系列的组别按照一定的顺序排列在一起,然后逐个验证,只要有一个组别验证失败,[email protected]({User.class,GroupB.class,GroupC.class})验证组的顺序,约束里不指定group的为默认的User.class组.约束组放在类前,User.class为默认的约束组,GroupB,GroupC为空的接口.写在User外同个java文件下.@NotEmpty(message="密码不能为空") @Size(min=4,max=20,message="密码长度必须在{min}-{max}范围内",groups = GroupB.class)[email protected],[email protected]

java企业级通用权限安全框架源码 SpringMVC mybatis or hibernate+ehcache shiro druid bootstrap HTML5

【java框架源码下载】