BUI+Spring+Mybatis
采用后端SpringMVC+MyBatis,前端采用阿里巴巴的 BUI框架。
相关项目源码,可以 直接下载
一、相关环境
操作系统:Windows 7,Windows 8
应用程序服务器:apache-tomcat-8.0.3
开发工具:IntelliJ IDEA 13.1RC2
Java版本:Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Spring版本:Spring-3.2.2
MyBatis版本:Mybatis-3.2.3
MySql版本: 5.6.16 MySQL Community Server (GPL)
mysql-connector-java:5.1.28
jackson-core-2.3.1
jQuery版本:2.0.3
BUI版本:1.0.7
二、关键点
1.对BUI的Grid,Store要有一点了解,具体参数官方(http://www.builive.com/ QQ群:138692365)资料;
2.对SpringMVC控制器各种注释的作用有一定了解;
例如:@Controller,@Autowired /*自动装配*/, @RequestMapping,@ResponseBody,[@PathVariable,@RequestParam,@RequestBody]
3.Spring控制器接收参数方式,即Spring控制器的@PathVariable,@RequestParam,@RequestBody三种接收前端请求参数方式;
@PathVariable:在URL路径中带参数,例如很多文章采用年月日作路径
@RequestParam:普通key=value传参数方式
@RequestBody:对象传参方式,前端把对象属性采用JSON字符串格式发送,控制器解析JSON字符串,并绑定到对象中进行接收参数;
例如:User对象的(id1,name1)属性,
前端发送格式:var postData = '{"id1": "'+id1+'", "name1": "'+name1+'"}'; //必须是字符串格式
后端控制器接收参数:public Map<String, Object> insertUserRequestBody(@RequestBody User user){}
4.理解Spring控制器向前端返回数据的方式和格式(也就是协议的概念),本文采用返回JSON格式;
支持返回:byte arrays,strings,JSON,XML,MultiValueMap<String, String>,Atom feeds,RSS feeds等格式;
本文档返回JSON格式:返回JSON格式时,Spring默认采用Jackson 2 (or Jackson)进行格式化,所以必须添加Jackson包;
如果在方法上加上@ResponseBody,表示把要返回的内容或者对象作为HTTP响应正文返回,在这个过程中RequestMappingHandlerAdapter适配器使用合适的HttpMessageConverter转换器,将要返回的内容或对象进行转换。
例如:控制器方法返回类型为Map(String,Object),控制器会调用MappingJackson2HttpMessageConverter,自动动把Map转换为前端需要的JSON格式,返回给前端;
5.对Spring配置文件属性要有了解;
例如:<context:component-scan base-package="com.jys.myBatisSpring.controller"/>
<!-- 扫描com.jys.myBatisSpring.controller这个包里的所有@Controller类,把@Controller类里@RequestMapping的url映射到对应的类或方法上 -->
6.能理解Mybatis与Spring相结合;
例如:1)org.mybatis.spring.SqlSessionFactoryBean实现了Spring的FactoryBean接口
2)org.mybatis.spring.mapper.MapperFactoryBean,直接注入数据映射器接口到你的service层bean中
7.各配置文件的路径,相互关系,要能清晰;
Tomcat:web.xml;
Spring:applicationContext.xml;
MyBatis:mybatis-config.xml;
Mybatis映射器xml文件;
三、时序
绿色代表客户端请求;紫色代表从数据库返回到客户端。
HTML-----(BUI Store,ajax异步提交)----->Spring Controller--(Spring控制器取得请求数据)----Service-----(service向Mybatis发起数据请求)----->MyBatis---(model)---->DB
DB----(model)------>Mybatis--------->service-------Spring(MappingJacksonHttpMessageConverter转换成JSON,装配到Map中)------->BUI,HTML
四、代码片段
1.测试表t_test:
id1 int(11)
name1 varchar(45)
2.对应表的实体类(Entity):User.Java
3.建mapper映射器接口(XxxMapper.java);
4.建mapper映射器xml(XxxMapper.xml与映射器接口同名),指定namespace到映射器接口;
5.建Mybatis配置文件mybatis-config.xml,引入mapper映射器xml文件;
1)如果mapper映射器xml较多,并且位置分散,适合把mapper映射器xml配置到mybatis-config.xml中,再在SqlSessionFactory的configLocation属性中配置mybatis-config.xml;
2)如果mybatis-config.xml只是用来配置mapper映射器xml文件,但全部mapper映射器xml可以采用"**/*.xml"配置在Spring配置文件的SqlSessionFactory的mapperLocations属性里,那么mybatis-config.xml可以省略;
6.在web.xml配置Spring的DispatcherServlet,并指定Spring配置文件applicationContext.xml;
7.Srping配置文件applicationContext.xml(重点):
8.Srping配置文件中定义占位符属性(context:property-placeholder)的属性配置文件;
applicationContext.xml中引入:<context:property-placeholder location="/WEB-INF/config/placeholder.properties" ignore-unresolvable="true"/>
8.Service接口;
9.Service实现;
10.SpringMVC Controller(重点);
11.前端BUI页面编写;
发起匹配控制器@RequestMapping一致的URL请求;
采用后端SpringMVC+MyBatis,前端采用阿里巴巴的 BUI框架。
相关项目源码,可以 直接下载
一、相关环境
操作系统:Windows 7,Windows 8
应用程序服务器:apache-tomcat-8.0.3
开发工具:IntelliJ IDEA 13.1RC2
Java版本:Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Spring版本:Spring-3.2.2
MyBatis版本:Mybatis-3.2.3
MySql版本: 5.6.16 MySQL Community Server (GPL)
mysql-connector-java:5.1.28
jackson-core-2.3.1
jQuery版本:2.0.3
BUI版本:1.0.7
二、关键点
1.对BUI的Grid,Store要有一点了解,具体参数官方(http://www.builive.com/ QQ群:138692365)资料;
2.对SpringMVC控制器各种注释的作用有一定了解;
例如:@Controller,@Autowired /*自动装配*/, @RequestMapping,@ResponseBody,[@PathVariable,@RequestParam,@RequestBody]
3.Spring控制器接收参数方式,即Spring控制器的@PathVariable,@RequestParam,@RequestBody三种接收前端请求参数方式;
@PathVariable:在URL路径中带参数,例如很多文章采用年月日作路径
@RequestParam:普通key=value传参数方式
@RequestBody:对象传参方式,前端把对象属性采用JSON字符串格式发送,控制器解析JSON字符串,并绑定到对象中进行接收参数;
例如:User对象的(id1,name1)属性,
前端发送格式:var postData = '{"id1": "'+id1+'", "name1": "'+name1+'"}'; //必须是字符串格式
后端控制器接收参数:public Map<String, Object> insertUserRequestBody(@RequestBody User user){}
4.理解Spring控制器向前端返回数据的方式和格式(也就是协议的概念),本文采用返回JSON格式;
支持返回:byte arrays,strings,JSON,XML,MultiValueMap<String, String>,Atom feeds,RSS feeds等格式;
本文档返回JSON格式:返回JSON格式时,Spring默认采用Jackson 2 (or Jackson)进行格式化,所以必须添加Jackson包;
如果在方法上加上@ResponseBody,表示把要返回的内容或者对象作为HTTP响应正文返回,在这个过程中RequestMappingHandlerAdapter适配器使用合适的HttpMessageConverter转换器,将要返回的内容或对象进行转换。
例如:控制器方法返回类型为Map(String,Object),控制器会调用MappingJackson2HttpMessageConverter,自动动把Map转换为前端需要的JSON格式,返回给前端;
5.对Spring配置文件属性要有了解;
例如:<context:component-scan base-package="com.jys.myBatisSpring.controller"/>
<!-- 扫描com.jys.myBatisSpring.controller这个包里的所有@Controller类,把@Controller类里@RequestMapping的url映射到对应的类或方法上 -->
6.能理解Mybatis与Spring相结合;
例如:1)org.mybatis.spring.SqlSessionFactoryBean实现了Spring的FactoryBean接口
2)org.mybatis.spring.mapper.MapperFactoryBean,直接注入数据映射器接口到你的service层bean中
7.各配置文件的路径,相互关系,要能清晰;
Tomcat:web.xml;
Spring:applicationContext.xml;
MyBatis:mybatis-config.xml;
Mybatis映射器xml文件;
三、时序
绿色代表客户端请求;紫色代表从数据库返回到客户端。
HTML-----(BUI Store,ajax异步提交)----->Spring Controller--(Spring控制器取得请求数据)----Service-----(service向Mybatis发起数据请求)----->MyBatis---(model)---->DB
DB----(model)------>Mybatis--------->service-------Spring(MappingJacksonHttpMessageConverter转换成JSON,装配到Map中)------->BUI,HTML
四、代码片段
1.测试表t_test:
id1 int(11)
name1 varchar(45)
2.对应表的实体类(Entity):User.Java
3.建mapper映射器接口(XxxMapper.java);
4.建mapper映射器xml(XxxMapper.xml与映射器接口同名),指定namespace到映射器接口;
5.建Mybatis配置文件mybatis-config.xml,引入mapper映射器xml文件;
1)如果mapper映射器xml较多,并且位置分散,适合把mapper映射器xml配置到mybatis-config.xml中,再在SqlSessionFactory的configLocation属性中配置mybatis-config.xml;
2)如果mybatis-config.xml只是用来配置mapper映射器xml文件,但全部mapper映射器xml可以采用"**/*.xml"配置在Spring配置文件的SqlSessionFactory的mapperLocations属性里,那么mybatis-config.xml可以省略;
6.在web.xml配置Spring的DispatcherServlet,并指定Spring配置文件applicationContext.xml;
7.Srping配置文件applicationContext.xml(重点):
8.Srping配置文件中定义占位符属性(context:property-placeholder)的属性配置文件;
applicationContext.xml中引入:<context:property-placeholder location="/WEB-INF/config/placeholder.properties" ignore-unresolvable="true"/>
8.Service接口;
9.Service实现;
10.SpringMVC Controller(重点);
11.前端BUI页面编写;
发起匹配控制器@RequestMapping一致的URL请求;