当前位置: 首页 > news >正文

盐城网站建设价格企业网站开发工资

盐城网站建设价格,企业网站开发工资,南宁网站搜索引擎优化,全校网站建设与管理五、案例 1. 开发规范—Restful REST(Representational State Transfer),表述性状态转换,是一种软件架构风格 注: REST是风格,是约定方式,不是规定,可以打破描述模块的功能通常使…

五、案例

1. 开发规范—Restful

REST(Representational State Transfer),表述性状态转换,是一种软件架构风格

在这里插入图片描述

注:

  • REST是风格,是约定方式,不是规定,可以打破
  • 描述模块的功能通常使用复数,表示此类资源,而非单个资源。如:users、emps、books

2. 部门管理的查询、删除、新增以及前后端联调

体会:🌅

  • 虽然之前的学习过程中已经跟着视频教程一边敲了代码,但是实际案例会把之前学习的内容连贯起来,自己再写的时候还是不是很熟悉,多多练习
  • 注解可以简化代码,要牢记;每个注解的英文也对应着其功能的语义

本质:三层架构+IOC(控制反转)+DI(依赖注入)

新知识:

  • @Slf4j/@Xslf4j可以代替创建日志对象,直接使用
  • @RequestMapping(“父级”);如果后面的方法上的都要调用这级,可以把他单另出来,注解在类的上方
  • @Mapping()可以根据请求类型,细分为@GetMapping()、@PostMapping、@DeleteMapping()等

流程:

Controller接受请求(,以及参数)——>Service处理数据(修改格式或者添加一些字段)——>Mapper与数据库交互(增删改查)——>Serveive——>Controller响应请求

3. 员工管理

分页查询

普通实现以及PageHelper分页插件实现

分页插件引入依赖

        <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.6</version></dependency>
@Mapper
public interface EmpMapper {
//    // 查询总记录数
//    @Select("select count(*) from emp")
//    public long count();
//
//    // 分页查询获取列表数据
//
//    @Select("select * from emp limit #{start}, #{pageSize}")
//    public List<Emp> page(Integer start, Integer pageSize);// 使用分页插件实现@Select("select * from emp")public List<Emp> list();
}
@Service
public class EmpServiceImpl implements EmpService {@Autowiredprivate EmpMapper empMapper;//    @Override
//    public PageBean page(Integer page, Integer pageSize) {
//        // 1. 获取总记录数
//        long count = empMapper.count();
//        // 2. 获取分页查询结果列表
        Integer start = (page - 1) * pageSize;
        List<Emp> empList = empMapper.page(start, pageSize);
//        List<Emp> empList = empMapper.page((page - 1) * pageSize, pageSize);
//        // 3. 封装PageBean对象
//        PageBean pageBean = new PageBean(count, empList);
//        return pageBean;
//    }@Overridepublic PageBean page(Integer page, Integer pageSize) {//1. 设置分页参数PageHelper.startPage(page, pageSize);//2. 执行查询List<Emp> empList = empMapper.list();Page<Emp> p = (Page<Emp>) empList;// 3. 封装PageBean对象PageBean pageBean = new PageBean(p.getTotal(), p.getResult());return pageBean;}
}
@RestController
public class EmpController {@Autowiredprivate EmpService empService;// 分页查询@GetMapping("/emps")public Result page(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize) {// 调用service分页查询PageBean pageBean = empService.page(page, pageSize);return Result.success(pageBean);}
}

分页条件查询——只要把select放在xml文件中,进行相应的修改就可以

删除员工——数组<foreach>遍历

新增员工——没有特殊的点

注意: 熟悉三层架构的流程就好

4. 文件上传

概念: 文件上传是指将本地图片、视频、音频等文件上传到服务器,供其他用户浏览或下载的过程

前端准备工作:

在这里插入图片描述

后端准备工作:

Controller中参数添加MultipartFile image(MutipartFile是类型,image是名字,与前端一致,不一致的话使用@RequestParam)

MultiPartfile常用方法

在这里插入图片描述

错误:

Whitelabel Error Page

解决:

<dependency><groupId>org.apache.portals.pluto.templating</groupId><artifactId>thymeleaf-mvc-portlet-api</artifactId><version>3.1.1</version>
</dependency>

注意:

在SpringBoot中,文件上传,默认单个文件允许最大大小为1M。如需上传大文件,可以进行如下配置

# 配置单个文件文件最大上传大小
spring.servlet.multipart.max-file-size=10MB
# 配置单个请求最大大小的限制(一次请求中上传的多个文件)
spring.servlet.multipart.max-request-size=100MB

1)本地存储上传文件的实例

@RestController
public class UploadController {@PostMapping("/upload")public Result uploda(String username, Integer age, MultipartFile image) throws Exception {log.info("文件上传:{},{},{}", username, age, image);// 使用MutiparFile中的方法获取文件的名字String originalFilename = image.getOriginalFilename();// 构造唯一的文件名(不能重复)——uuid(通用唯一识别码,长度固定的字符串)// 首先获取原始文件的扩展名int index = originalFilename.lastIndexOf(".");String extname = originalFilename.substring(index);// 其次生成UUID并与原始文件后缀名进行拼接String newFileName = UUID.randomUUID().toString() + extname;// 将文件存储在服务器的磁盘目录中E:\want\JAVA\tempImageimage.transferTo(new File("E:\\want\\JAVA\\tempImage\\" + newFileName));return Result.success();}
}

2)阿里云OSS(对象存储服务,Object Storage Service)

概念: 云存储服务

作用: 通过网络随时存储和调用包括文本、图片、音频和视频在内的各种文件

使用第三方服务的通用思路:

  • 准备
  • 参照官方SDK编写入门程序(Software Development Kit,软件开发工具包),包括辅助软件开发的依赖(jar包)、代码示例等,都可以叫做SDK。Bucket:存储空间,就是个存储东西的容器
  • 集成使用

5. 配置文件

1)properties配置文件

原问题: 参数属于硬编码——如果有需求要修改,需要修改源代码,然后重新编译,不便于维护及管理

解决:

在这里插入图片描述

2)yml配置文件(.yml/.yaml)

在这里插入图片描述

对比不同的配置文件格式:

  • XML:臃肿
  • properties:层次结构不清晰
  • yml:简洁、数据为中心——推荐

yml基本语法:

  • 大小写敏感
  • 数值前面必须有空格作为分隔符
  • 使用缩进表示层级关系,缩进时不能用Tab,只能用空格
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐
  • #表示注释,从这个字符一直到行尾,都会被解析器忽略

属性的自动注入:

@ConfigurationProperties(prefix=“属性的前缀”)

使用前需要引入依赖(可选)

在这里插入图片描述

过程:

  • 将属性封装成一个实体类,加入注解@Data、@Component、@ConfigurationProperties
  • 在工具类中@Autowired自动注入一个对象就可
http://www.yayakq.cn/news/81213/

相关文章:

  • 如何做网络销售产品关键词优化怎么做
  • 网网站基础建设优化知识定制型网站建设平台
  • 同仁县wap网站建设公司设计师网页设计
  • 哪里学网站开发好西安网站公司哪家好
  • 深圳朝阳电子网站建设徐州专业网站建设公司
  • 企业网站pv是什么河南郑州新闻头条最新事件
  • 企业网站都没的百度快照咋办贷款平台哪个好下款
  • 假山制作seo发包软件
  • 江苏省住房和城乡建设厅网站首页做商城网站的风险
  • 郑州高端模板建站汽车网站cms
  • 客户打不开网站现在的公司都有自己的网站吗
  • 番禺大石做网站百度秒收录排名软件
  • 1688货源网一件代发什么意思怎么优化网站
  • 什么网站可以免费做找客户公司做网站好
  • 基础微网站开发价位网站建设公司哪家强
  • php成品网站下载怎么做网站调研
  • 石家庄专业网站营销网页游戏排行榜前十名歌
  • 怎么创建公司网站新乡+网站建设
  • 哪个网站的图片专门做详情页的电子商务网站类型
  • 网站导航菜单兰深圳哪家做网站比较好
  • 湖州网站设计浙北数据江苏省建设工程信息网官网
  • 学做ppt的网站 免费中国建设网站工程承包分包法
  • 做一元购网站图片制作器手机版
  • 网站建设开发维护长沙3合1网站建设电话
  • 自己能做企业网站吗做网站开发哪种语言更稳定高效
  • 兴义做网站长春中企动力
  • 网站建设规划方案论文如何自己做留言板网站
  • 模块网站弊端如何在互联网上做推广
  • 杭州酒店网站建设小生意创业项目
  • 长春网站建设与健重庆免费发布信息网站