Weiit是基于Java语言的极速web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。Weiit适用于快速开发,轻应用型的应用开发,大大降低开发人员投入与维护成本支出,是一款永久免费开源的Web开发框架。
截止2020年,Weiit团队基于自身框架已经成功应用为300多家企业提供技术支持。Weiit团队还自身开源了一个产品项目,蜗店SAAS电商系统。
《蜗店》线上环境https://www.wstore.me。
《蜗店》目前已开源,测试环境演示:
商家端:http://saasmerchant.wei-it.com/ 18306668080/123456
平台端:http://saasplatform.wei-it.com/
渠道端:http://saasplatform.wei-it.com/
必须依赖,框架核心支持:
<dependency> <groupId>com.weiit</groupId> <artifactId>weiit-support-core</artifactId> <version>1.0.0</version> </dependency>
需第三方支持与工具类,则引入,非必须依赖:
<dependency> <groupId>com.weiit</groupId> <artifactId>weiit-resource-common</artifactId> <version>1.0.0</version> </dependency>
如需定时任务是,则引入,非必须依赖:
<dependency> <groupId>com.weiit</groupId> <artifactId>weiit-suppor-task</artifactId> <version>1.0.0</version> </dependency>
如需系统管理模块,则引入,非必须依赖:
<dependency> <groupId>com.weiit</groupId> <artifactId>weiit-business-system</artifactId> <version>1.0.0</version> </dependency>
Mapper层:
package com.weiit.web.admin.user.mapper; import java.util.List; import com.weiit.core.entity.FormMap; import com.weiit.core.mapper.BaseMapper; /** * 用户中心 mapper * @author 半个鼠标 * @date 2017年8月15日 下午3:20:16 * @version 1.0 * @company http://www.wei-it.com */ public interface UserMapper extends BaseMapper { /** * 查询所有的会员积分信息 * @param param * @return 返回所有会员的积分信息 */ List selectUserIntergralList(FormMap formMap); /** * 查询所有的会员余额信息 * @param param * @return 返回所有会员的余额信息 */ List selectbalanceList(FormMap forMap); /** * 查询所有的会员地址信息 * @param param * @return 返回所有会员的地址信息 */ List selectAdressList(FormMap formMap); /** * 删除会员地址库 * @param param * @return */ int removeAddress(FormMap formMap); /** * 删除会员余额记录 * @param param * @return */ int removeBalanceLog(FormMap formMap); /** * 删除会员积分记录 * @param param * @return */ int removeIntegralLog(FormMap formMap); }
Service层:
package com.weiit.web.admin.user.service; import java.util.List; import com.weiit.core.entity.FormMap; import com.weiit.core.service.BaseService; /** * 用户模块接口 * @author 半个鼠标 * @date 2017年8月15日 上午11:55:25 * @version 1.0 * @company http://www.wei-it.com */ public interface UserService extends BaseService{ List selectUserIntergralList(FormMap formMap); List selectbalanceList(FormMap forMap); List selectAdressList(FormMap formMap); void removeTrans(FormMap formMap); }
Service实现层:
package com.weiit.web.admin.user.service.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.weiit.core.entity.FormMap; import com.weiit.core.mapper.BaseMapper; import com.weiit.core.service.impl.AbstractService; import com.weiit.web.admin.user.mapper.UserMapper; import com.weiit.web.admin.user.service.UserService; /** * 会员模块接口实现接口 * @author 半个鼠标 * @date 2017年8月15日 下午3:23:04 * @version 1.0 * @company http://www.wei-it.com */ @Service @Transactional(readOnly=false) public class UserServiceImpl extends AbstractService implements UserService { @Resource private UserMapper userMapper; @Override public BaseMapper setMapper() { return userMapper; } /** * 查询会员积分 */ @Override public List selectUserIntergralList(FormMap formMap) { return userMapper.selectUserIntergralList(formMap); } /** * 查询会员余额 */ @Override public List selectbalanceList(FormMap forMap) { return userMapper.selectbalanceList(forMap); } /** * 查询会员地址 */ @Override public List selectAdressList(FormMap formMap) { return userMapper.selectAdressList(formMap); } /** * 会员删除 (事务管理) 1、删除积分记录。2、删除余额记录。3、删除收货地址。4、删除会员信息 */ @Override @Transactional(readOnly=false,propagation=Propagation.REQUIRED,rollbackFor=Exception.class)//事务可写,记住方法中不能捕获异常,捕获异常不会回滚事务,trycatch也不能用 public void removeTrans(FormMap formMap) { //1、先删除积分记录 userMapper.removeIntegralLog(formMap); //2、删除余额记录 userMapper.removeBalanceLog(formMap); //3、删除会员收货地址 userMapper.removeAddress(formMap); //4、删除会员 userMapper.remove(formMap); } }
控制层(全栈式开发):
package com.weiit.web.admin.user.controller; import java.util.List; import javax.annotation.Resource; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.weiit.core.entity.E; import com.weiit.core.entity.FormMap; import com.weiit.support.common.utils.WeiitUtil; import com.weiit.web.admin.user.service.UserService; import com.weiit.web.base.AdminController; import com.weiit.web.base.Message; /** * 后台管理 》会员模块 * @author 半个鼠标 * @date:2017年8月15日 下午3:20:56 * @version 1.0 * @company http://www.wei-it.com */ @Controller @RequestMapping("/user") public class UserController extends AdminController { public static Logger logger = Logger.getLogger(UserController.class); @Resource private UserService userService; private String page_list = "/center/user/userList"; private String page_intergral = "/center/user/userIntergral"; private String redirect_list = "redirect:userList"; private String page_balance = "/center/user/userBalance"; private String page_adress = "/center/user/userAdress"; /** * 会员管理》查询用户列表 */ @RequestMapping("/userList") public ModelAndView userList() { logger.info("进入UserController-user_list,会员列表展示"); ModelAndView result = UIView(page_list); FormMap formMap = getFormMap(); // 开启分页 PageHelper.startPage(formMap.getPage(), formMap.getRows()); List userslist = userService.selectList(formMap); result.addObject("pageInfo", new PageInfo<E>(userslist)); result.addObject("queryParam", formMap); return result; } /** * 会员管理》刪除会员 */ @RequestMapping("/remove") public ModelAndView remove() { logger.info("进入UserController-remove,会员删除"); ModelAndView result = UIView(redirect_list, Message.DANGER); FormMap formMap = getFormMap(); //用户删除【事务】 userService.removeTrans(formMap); return result; } /** * 会员管理》添加会员 */ @RequestMapping("/save") public ModelAndView save() { logger.info("进入UserController-save,添加会员"); ModelAndView result = UIView(redirect_list, Message.INFO); FormMap formMap = getFormMap(); if (StringUtils.isEmpty(formMap.getStr("user_id"))) { userService.insert(formMap); } else { userService.edit(formMap); } return result; } /** * 会员管理》根据id查询会员 */ @ResponseBody @RequestMapping("/view") public String view() { logger.info("进入UserController-view,根据id查询会员"); FormMap formMap = getFormMap(); E e = userService.selectOne(formMap); return toJsonAPI(e); } /** * 会员管理》查询用户积分 */ @RequestMapping("/userIntergral") public ModelAndView userIntergral() { logger.info("进入UserController-user_intergralList,会员积分查询"); ModelAndView result = UIView(page_intergral); FormMap formMap = getFormMap(); // 开启分页 PageHelper.startPage(formMap.getPage(), formMap.getRows()); List intergrallist = userService.selectUserIntergralList(formMap); result.addObject("pageInfo", new PageInfo<E>(intergrallist)); result.addObject("queryParam", formMap); return result; } /** * 会员管理》查询用户余额 */ @RequestMapping("/userBalance") public ModelAndView userBalance() { logger.info("进入UserController-user_balanceList,会员余额展示"); FormMap forMap = getFormMap(); List balancelist = userService.selectbalanceList(forMap); ModelAndView result = UIView(page_balance); result.addObject("pageInfo", new PageInfo<E>(balancelist)); result.addObject("queryParam", forMap); return result; } /** *会员管理》查询会员地址 */ @RequestMapping("/userAddress") public ModelAndView userAddress() { logger.info("进入UserController-useradressList,会员地址展示"); ModelAndView result = UIView(page_adress); FormMap formMap = getFormMap(); // 开启分页 PageHelper.startPage(formMap.getPage(), formMap.getRows()); List adresslist = userService.selectAdressList(formMap); result.addObject("pageInfo", new PageInfo<E>(adresslist)); result.addObject("queryParam", formMap); return result; } /** * 会员管理》批量删除会员 * */ @RequestMapping(value="/removeBatch") public ModelAndView removeBatch(){ logger.info("进入UserController-deleteBatch,批量删除会员"); ModelAndView result = UIView(redirect_list, Message.INFO); FormMap formMap=getFormMap(); String[] validate_id=formMap.getAttrNames("validate_id");// String validate_ids=WeiitUtil.arrayToString(validate_id); formMap.set("validate_ids", validate_ids); userService.removeBatch(formMap); return result; } }
控制层(前后端分离开发):
package com.weiit.web.admin.user.controller; import java.util.List; import javax.annotation.Resource; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.weiit.core.entity.E; import com.weiit.core.entity.FormMap; import com.weiit.support.common.utils.WeiitUtil; import com.weiit.web.admin.user.service.UserService; import com.weiit.web.base.AdminController; import com.weiit.web.base.Message; /** * 会员相关接口 * @author 半个鼠标 * @date:2017年8月15日 下午3:20:56 * @version 1.0 * @company http://www.wei-it.com */ @Controller @RequestMapping("/user") public class UserController extends AdminController { public static Logger logger = Logger.getLogger(UserController.class); /** * 查询用户接口 */ @RequestMapping("/getUserInfo") public String getUserList() { logger.info("进入UserController-getUserInfo,查询用户信息"); //判断用户token真实的,重新查询用户信息出来 if (formMap.get("user_id") != null) { E userInfo = userService.userInfo(formMap); return toJsonAPI(userInfo); } else { return toJsonAPI(ApiResponseCode.TOKEN_INVALID); } } }
JFinal 是基于 Java 语言的极速 WEB + ORM + AOP + Template Engine 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。
本文向大家介绍JFinal极速开发框架使用笔记分享,包括了JFinal极速开发框架使用笔记分享的使用技巧和注意事项,需要的朋友参考一下 记录第一次使用JFinal,从简单的框架搭建到增删改查,从自带的方法到正常框架习惯的使用方式。 JFinal官网:http://www.jfinal.com/ JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少
Frame 是一个包含标题和边框的容器。它还可以包含各种其他组件,例如标签、按钮、复选框等。 在这里,我们将学习如何使用 JOGL 技术创建Frame框架。 以下是创建Frame框架的步骤: 在eclipse中新建一个Java项目,在里面添加所有需要的jar文件。我们已经在上一节中讨论过它。 创建 Java 类并导入所需的包。 现在,实现 GLEventListener 接口并覆盖其以下方法: v
微信小程序/公众号一键生成系统 weiit-saas是一款Java开源项目,属于weiit团队自研产品,意在通过技术封装,让企业无需代码开发,帮助企业一键生成小程序、公众号,让企业拥有独立品牌的自营商城。产品竞争对手《有赞》、《微盟》。 一、系统功能 五、系统功能 二、主要特点 项目采用Spring+SpringMVC+Mybati
作者:陈希章 重写于 2017年5月24日 前言 这篇文章最早写于2017年5月2日,当时的想法是从最简单的方式来写如何在一个ASP.NET MVC应用程序中集成Microsoft Graph,但实际上还真不是那么简单,至少我是不满意的,加上这一两周都比较忙,所以这一篇就一直搁置。直到上周的一个契机,让我看到了一个全新的方式,而且可以极大地改变我们在Web应用程序中集成Microsoft Grap
1. 逻辑流程 注(1): 此处逻辑为可选逻辑,详情参见 【小程序深度对接->上报用户信息】 2. 集成步骤 2.1 添加发起会话按钮 <button open-type="contact" />咨询客服</button> 2.2 小能客户端配置小程序 登录小能客户端,设置->接入设置->第三方接入->小程序 ->点击按钮接入微信小程序 -> 选择极速模式 填写小程序信息 复制小能服务器信息,需