基于SpringBoot的企业人力资源管理系统设计与实现

news2024/11/26 19:21:19

1.引言

随着经济改革开放的发展,企业之间的竞争也越来越激烈,在这样的大环境下,企业要想立于不败之地,不仅要有好的商品,更要有一支强有力的团队,其本质就是人才。企业对人才的需求不断的增加,也导致人力资源管理的需求也在不断的变化。而传统的管理方法已经无法满足当下管理的形式,因此,可以通过互联网的方式对人力资源管理系统进行人才管理,从而节省额外的开支,提高管理水平。

企业人力资源管理的合理性是决定企业未来发展方向的重要环节。但是, 一些中小企业仍然存在一些基本的管理系统,无法实现管理的信息化和智能化。

很多企业考虑到设计系统的成本,所以宁愿使用价格低廉功能不健全的管理系统,虽然表面上看起来是为企业节约了成本,然而,在长期使用过程中,它仍 然浪费更多的人力,物力和财力。因此,为了真正节省成本并有效实现人力资源管理,有必要利用智能人力资源管理系统。提高人员管理效率,真正找到为公司省钱的方法。本系统基于企业人力资源管理的业务需求结合信息化的技术手段进行开发,保证系统能够智能化的完成企业管理所有工作,保证使用系统的稳定性和长久性的同时提高人力资源管理效率。

2.开发技术

2.1Java语言

Java是一种广泛使用的跨平台编程语言,由Sun Microsystems(现Oracle)公司于1995年推出。它具有简单、面向对象、健壮、安全和可移植等特点,被广泛应用于开发各种类型的应用程序和系统。

以下是Java语言的一些关键特点和描述:

(1)简单易学:Java借鉴了C++语言的语法,并去除了一些复杂和容易出错的特性,使得Java相对而言更简单易学。它具有清晰的语法结构、丰富的类库和强大的工具,使得开发人员能够更轻松地学习和使用Java。

(2)面向对象:Java是一种纯面向对象的编程语言。它支持面向对象的特性,如封装、继承和多态,使开发人员能够以更直观和模块化的方式构建和组织代码。面向对象的编程风格也有助于提高代码的可重用性和可维护性。

(3)跨平台性:Java具有很高的可移植性,一次编写、到处运行。它使用了Java虚拟机(JVM)作为平台中间层,将Java字节码转换为特定平台上的可执行代码。这使得Java程序能够在不同操作系统(如Windows、Linux、Mac等)和硬件上运行,为开发人员提供了广泛的目标环境。

(4)强大的类库和工具:Java具有强大且丰富的类库,提供了各种各样的预定义类和方法,以便于开发人员快速构建各种应用程序。这些类库包括网络、图形界面、数据库连接、加密、多线程等方面的功能。此外,Java还有丰富的开发工具,如集成开发环境(IDE)和调试器,帮助开发人员提高效率和开发质量。

(5)安全性:Java被设计为一种高度安全的语言。它提供了安全机制,如字节码验证和沙箱安全模型,用于防止潜在的安全漏洞和恶意操作。这使得Java在开发网络和分布式系统时具有较高的可信度和安全性。

(6)多线程支持:Java原生支持多线程编程,允许并发执行多个任务。通过使用线程,开发人员可以实现并行计算、提高程序的响应速度和处理能力。Java提供了内置的线程管理和同步机制,使得编写线程安全的代码变得更加容易。

总而言之,Java是一种功能强大、可移植、安全和易学的编程语言。它以面向对象编程的思想为基础,具有丰富的类库和工具支持。通过Java虚拟机的跨平台特性,开发人员能够一次编写代码,实现在多个操作系统和硬件上的运行。Java被广泛应用于开发桌面应用程序、企业级应用、移动应用和嵌入式系统等领域。

2.2SpringBoot

Spring Boot是一个用于快速构建容易配置的、独立的、生产级的Spring应用程序的框架。它是基于Spring框架的,并使用了约定优于配置的原则,旨在简化Spring应用程序的开发和部署。

以下是Spring Boot框架的一些关键特点和描述:

(1)简化的配置:Spring Boot通过约定优于配置的方式来配置Spring应用程序,让开发人员能够快速启动项目并进行开发。它自动配置许多常用的功能,如数据库连接、Web开发、安全性等,默认情况下遵循最佳实践。

(2)微服务支持:Spring Boot专注于构建基于微服务架构的应用程序。它提供了一些便利的特性和工具,如内嵌的应用服务器(如Tomcat、Jetty)、服务注册和发现、负载均衡等,使开发人员能够轻松构建和管理微服务。

(3)自动化依赖管理:Spring Boot通过自动化的依赖管理,简化了项目的依赖配置。它提供了一个叫做“Starter”的概念,即预定义的依赖包,可以一次性引入多个相关的依赖库。开发人员只需添加适当的Starter依赖项,Spring Boot将自动解析和引入所需的依赖。

(4)内嵌的Servlet容器:Spring Boot集成了内嵌的Servlet容器(如Tomcat、Jetty),使得开发和部署Web应用变得更加简单和便捷。开发人员无需手动安装和配置Servlet容器,只需编写代码,即可直接运行和测试应用程序。

(5)强大的监控和管理:Spring Boot提供了强大的监控和管理功能,使开发人员能够更好地了解应用程序的运行状况和性能指标。它集成了许多开箱即用的监控工具,如健康检查、度量指标、日志记录等,方便开发人员进行故障排查和性能优化。

(6)生态系统支持:Spring Boot作为Spring框架的衍生版本,能够充分利用Spring生态系统的各个方面。它可以轻松集成Spring框架的其他模块和扩展,如Spring Security、Spring Data等,为开发人员提供更丰富、更完整的功能和支持。

总而言之,Spring Boot是一个简化Spring应用程序开发的框架,它提供了诸多方便和便捷的功能,如简化的配置、微服务支持、自动化依赖管理等。通过使用Spring Boot,开发人员能够快速构建和部署高效、健壮的应用程序,并享受Spring生态系统的丰富功能和支持。

2.3Vue

Vue.js是一种流行的JavaScript框架,用于构建用户界面(UI),特别是单页应用程序。Vue以其简洁、响应式和灵活的特性受到开发者的欢迎,并且易于集成到现有项目中。

以下是Vue技术的一些关键特点和描述:

(1)响应式:Vue使用响应式的数据绑定机制。通过将数据和视图进行绑定,当数据发生变化时,视图会自动更新。这使得开发人员能够以一种直观和简洁的方式管理和响应数据的变化。

(2)组件化:Vue鼓励开发人员将应用程序拆分为多个可重用的组件。每个组件都有自己的模板、逻辑和样式,使得开发过程更加模块化和可维护。组件之间的通信通过props和事件来实现。

(3)虚拟DOM:Vue使用虚拟DOM来优化页面渲染性能。虚拟DOM是一个轻量级的JavaScript对象,表示真实的DOM结构。通过对比虚拟DOM的变化,Vue只更新实际需要改变的部分,提高了页面的渲染效率。

(4)模板语法:Vue提供了一种简洁而灵活的模板语法,用于声明式地将数据绑定到DOM。模板语法支持插值、指令和表达式,使得开发人员能够轻松地在模板中使用JavaScript逻辑和动态内容。

(5)路由和状态管理:Vue提供了Vue Router和Vuex等官方插件,用于实现路由和状态管理。Vue Router用于实现单页应用的路由功能,而Vuex则提供了集中式状态管理,方便多个组件之间共享和管理状态。

(6)生态系统和社区支持:Vue拥有活跃的开源社区和庞大的生态系统。许多第三方库和插件都与Vue无缝集成,提供丰富的功能和工具支持。Vue社区提供了大量的文档、教程和示例,为开发人员提供了学习和解决问题的资源。

通过使用Vue技术,开发人员能够构建交互式的用户界面,实现数据和视图的动态绑定。Vue的响应式、组件化和虚拟DOM等特性使得开发过程更加高效和灵活。同时,Vue的生态系统和社区支持提供了丰富的工具和资源,帮助开发人员更好地构建和维护Vue应用程序。

2.4Mysql

MySQL是一种开源的关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发。它被广泛应用于各种类型的应用程序,从小型个人网站到大型企业级应用程序。

以下是MySQL数据库的一些关键特点和描述:

(1)关系型数据库:MySQL是一种关系型数据库管理系统,基于表和关系的概念来组织和存储数据。它支持SQL(Structured Query Language)作为查询和管理数据库的标准语言。

(2)可靠和稳定:MySQL以其可靠性和稳定性而闻名,被许多大型组织用于处理重要的数据。它具有高度的可用性、容错性和数据完整性,适合处理企业级的大量数据。

(3)跨平台性:MySQL可以运行在多个操作系统上,包括Windows、Linux、Mac等。这使得开发人员可以在不同平台上使用MySQL来构建和部署应用程序。

(4)高性能:MySQL在处理大量数据时表现出色,并具有高效的读写速度。它进行了各种性能优化,如索引、查询优化和缓存机制等,以提供快速的数据访问和处理能力。

(5)可扩展性:MySQL具有良好的可扩展性,可以在不影响性能的情况下处理大量数据。它支持水平扩展和垂直扩展,允许通过添加更多服务器、分区和集群等方式来提高数据库的容量和性能。

(6)安全性:MySQL提供了多种安全机制来保护数据的安全性。它支持用户身份验证、访问控制、加密传输、事务处理等功能,可以保护敏感数据免受未授权访问和恶意攻击。

(7)丰富的功能:MySQL提供了丰富的功能和特性,如存储过程、触发器、外键约束、视图、备份和恢复等。这些功能使开发人员能够更灵活和高效地管理和操作数据库。

总而言之,MySQL是一种可靠、稳定且性能优秀的关系型数据库管理系统。它在可靠性、可扩展性和安全性方面表现出色,并且具有跨平台性和丰富的功能。作为开源软件,MySQL拥有庞大的用户社区和活跃的开发者群体,提供了大量的支持、文档和资源。无论是小型网站还是大型企业级应用程序,MySQL都是一个强大的选择。

3.功能设计

 该项目的研发主要采用web浏览器的设计模式。其系统结构如图3-1所示:

本系统是利用现代化的计算机网络技术将传统信息宣传方式整合,按照实践过程设计完成的。同时完善服务,初步设计一个企业人力资源系统平台以利于相关的事务操作。为了使系统在各项管理中发挥更大的作用,实现计算机信息化高效的管理,现将开发目标功能需求介绍如下:

(1)管理员登录模块

管理员有权进行系统企业人力资源平台的管理,但所有的注册以及权限的使用,都需经过超级管理员授权,管理员可以对部门管理、培训管理、招聘管理、请假管理、员工管理、考勤管理、薪酬管理。

(2)部门管理模块

拥有一定管理权限管理员,可进行部门管理列表的查看,以及对应的部门管理增加、删除、修改、查询操作。

(3)用户管理模块

拥有一定管理权限管理员,可进行用户列表的数据查看,以及对应的用户增加、删除、修改、查询操作。

(4)培训管理列表管理模块

拥有一定管理权限管理员,可进行用户培训管理列表的数据查看,以及对培训管理的修改操作。

4.实现效果展示

 

5.参考文章

 6.核心代码

@RestController
@RequestMapping("renren/checkmanger")
public class CheckMangerController {
    @Autowired
    private CheckMangerService checkMangerService;

    /**
     * 列表
     */
    @RequestMapping("/list")
    /*@RequiresPermissions("renren:checkmanger:list")*/
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = checkMangerService.queryPage(params);
        Object principal = SecurityUtils.getSubject().getPrincipal();
        SysUserEntity userEntity = (SysUserEntity) principal;
        return R.ok().put("page", page).put("user",userEntity.getUsername());
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    /*@RequiresPermissions("renren:checkmanger:info")*/
    public R info(@PathVariable("id") Integer id){
		CheckMangerEntity checkManger = checkMangerService.getById(id);

        return R.ok().put("checkManger", checkManger);
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    /*@RequiresPermissions("renren:checkmanger:save")*/
    public R save(@RequestBody CheckMangerEntity checkManger){
        Object principal = SecurityUtils.getSubject().getPrincipal();
        SysUserEntity userEntity = (SysUserEntity) principal;
        QueryWrapper<CheckMangerEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("staff_num",userEntity.getUserNum());
        List<CheckMangerEntity> list = checkMangerService.list(queryWrapper);
        //上班打卡
        if (checkManger.getRemark().equals("1")){
            if (list.size()>0){
                CheckMangerEntity checkMangerEntity = list.get(0);
                Date shanDa = checkMangerEntity.getShanDa();
                String format = DateUtils.format(shanDa, "yyyy-MM-dd");
                String format2 = DateUtils.format(new Date(), "yyyy-MM-dd");
                if (format.equals(format2)){
                    return R.error("今天已签到");
                }
            }
            checkManger.setShanDa(new Date());
        }
        if (checkManger.getRemark().equals("2")){
            if (list.size()>0){
                CheckMangerEntity checkMangerEntity = list.get(0);
                Date shanDa = checkMangerEntity.getXiaDa();
                String format = DateUtils.format(shanDa, "yyyy-MM-dd");
                if (format!=null){
                    String format2 = DateUtils.format(new Date(), "yyyy-MM-dd");
                    if (format.equals(format2)){
                        return R.error("今天已签到");
                    }
                }

            }
            CheckMangerEntity entity = list.get(0);
            entity.setXiaDa(new Date());
        /*    entity.setStaffNum(userEntity.getUserNum());
            entity.setPartName(userEntity.getUserPart());
            entity.setStaffName(userEntity.getUsereal());*/
            checkMangerService.updateById(entity);
            return R.ok();
        }

        checkManger.setStaffNum(userEntity.getUserNum());
        checkManger.setPartName(userEntity.getUserPart());
        checkManger.setStaffName(userEntity.getUsereal());


        checkMangerService.save(checkManger);

        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    /*@RequiresPermissions("renren:checkmanger:update")*/
    public R update(@RequestBody CheckMangerEntity checkManger){
		checkMangerService.updateById(checkManger);

        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    /*@RequiresPermissions("renren:checkmanger:delete")*/
    public R delete(@RequestBody Integer[] ids){
		checkMangerService.removeByIds(Arrays.asList(ids));

        return R.ok();
    }

}
@RestController
@RequestMapping("renren/coursemanager")
public class CourseManagerController {
    @Autowired
    private CourseManagerService courseManagerService;

    /**
     * 列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = courseManagerService.queryPage(params);

        return R.ok().put("page", page);
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Integer id){
		CourseManagerEntity courseManager = courseManagerService.getById(id);

        return R.ok().put("courseManager", courseManager);
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody CourseManagerEntity courseManager){
		courseManagerService.save(courseManager);

        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody CourseManagerEntity courseManager){
		courseManagerService.updateById(courseManager);

        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
		courseManagerService.removeByIds(Arrays.asList(ids));

        return R.ok();
    }

}
@RestController
@RequestMapping("renren/coursetype")
public class CourseTypeController {
    @Autowired
    private CourseTypeService courseTypeService;

    /**
     * 列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = courseTypeService.queryPage(params);

        return R.ok().put("page", page);
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Integer id){
		CourseTypeEntity courseType = courseTypeService.getById(id);

        return R.ok().put("courseType", courseType);
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody CourseTypeEntity courseType){
		courseTypeService.save(courseType);

        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody CourseTypeEntity courseType){
		courseTypeService.updateById(courseType);

        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
		courseTypeService.removeByIds(Arrays.asList(ids));

        return R.ok();
    }

}
@RestController
@RequestMapping("renren/hupart")
public class HuPartController {
    @Autowired
    private HuPartService huPartService;

    /**
     * 列表
     */
    @RequestMapping("/list")
    /*@RequiresPermissions("renren:hupart:list")*/
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = huPartService.queryPage(params);

        return R.ok().put("page", page);
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    /*@RequiresPermissions("renren:hupart:info")*/
    public R info(@PathVariable("id") Integer id){
		HuPartEntity huPart = huPartService.getById(id);

        return R.ok().put("huPart", huPart);
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    /*@RequiresPermissions("renren:hupart:save")*/
    public R save(@RequestBody HuPartEntity huPart){
		huPartService.save(huPart);

        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    /*@RequiresPermissions("renren:hupart:update")*/
    public R update(@RequestBody HuPartEntity huPart){
		huPartService.updateById(huPart);

        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
   /* @RequiresPermissions("renren:hupart:delete")*/
    public R delete(@RequestBody Integer[] ids){
		huPartService.removeByIds(Arrays.asList(ids));

        return R.ok();
    }

}
@RestController
@RequestMapping("renren/leavemanger")
public class LeaveMangerController {
    @Autowired
    private LeaveMangerService leaveMangerService;

    /**
     * 列表
     */
    @RequestMapping("/list")
    /*@RequiresPermissions("renren:leavemanger:list")*/
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = leaveMangerService.queryPage(params);

        Object principal = SecurityUtils.getSubject().getPrincipal();
        SysUserEntity userEntity = (SysUserEntity) principal;
        return R.ok().put("page", page).put("user",userEntity.getUsername());
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    /*@RequiresPermissions("renren:leavemanger:info")*/
    public R info(@PathVariable("id") Integer id){
		LeaveMangerEntity leaveManger = leaveMangerService.getById(id);

        return R.ok().put("leaveManger", leaveManger);
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    /*@RequiresPermissions("renren:leavemanger:save")*/
    public R save(@RequestBody LeaveMangerEntity leaveManger){
		leaveMangerService.save(leaveManger);

        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    /*@RequiresPermissions("renren:leavemanger:update")*/
    public R update(@RequestBody LeaveMangerEntity leaveManger){
		leaveMangerService.updateById(leaveManger);

        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    /*@RequiresPermissions("renren:leavemanger:delete")*/
    public R delete(@RequestBody Integer[] ids){
		leaveMangerService.removeByIds(Arrays.asList(ids));

        return R.ok();
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/746298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频剪辑素材网站,免费可商用,赶紧马住~

推荐几个高质量视频素材网站&#xff0c;免费可商用&#xff0c;建议收藏&#xff01; 菜鸟图库 https://www.sucai999.com/video.html?vNTYxMjky 菜鸟图库虽然是一个设计网站&#xff0c;但它还有非常丰富的视频和音频素材&#xff0c;视频素材全部都是高清无水印&#xff…

485远传水表抄表系统

485远传水表抄表系统是一种基于RS-485通信协议的远程抄表系统&#xff0c;它利用现代通信技术&#xff0c;实现了对水表数据的远程采集、传输和处理&#xff0c;是智慧城市建设的重要组成部分。本文将从以下几个方面对485远传水表抄表系统进行全面介绍&#xff1a; 一、系统组成…

【Spring Boot】Spring Boot的系统配置 — 系统配置文件

系统配置文件 Spring Boot的系统配置文件&#xff0c;包括application.properties和application.yml配置文件的使用以及YML和Properties配置文件有什么区别&#xff0c;最后介绍如何更改Spring Boot的启动图案。 1.application.properties Spring Boot支持两种不同格式的配置…

pyqt结合深度学习框架做系统

时隔将近两个月&#xff0c;我胡汉三又回来啦&#xff01;&#xff01;&#xff01;将近两个月玩了一个月&#xff0c;半个月面试&#xff0c;半个月吃土沉淀&#xff08;有收获&#xff09;也投出去一篇论文&#xff08;外审中&#xff0c;关于深度学习神经网络改进的一篇病害…

如何将代理IP集成到自动化测试框架中?

自动化测试框架是现代软件工程中不可或缺的一部分。它们提供了许多好处&#xff0c;包括&#xff1a;更快的测试速度&#xff0c;更高的可靠性和更广泛的测试覆盖范围。然而&#xff0c;在测试过程中&#xff0c;有些网站可能需要使用代理IP&#xff0c;这是因为一些网站会限制…

踩坑记录:xorm的sql()函数后无法使用FindAndCount()

一、起因 懒省事想用 sql 写个有连表操作的分页查询语句&#xff0c;看到 xorm 中 sql 要和代码紧密纠缠在一起就不爽&#xff0c;所有就想用 xorm 中的 session.SQL(sql).Limit(size, offset).FindAndCount() 方法解决。不曾想。。。 sql: expected 15 destination argument…

[计算机入门] 磁盘、磁盘分区、盘符、卷标

2.5 磁盘、磁盘分区、盘符、卷标 磁盘&#xff1a;指计算机中存储数据和文件的物理设备&#xff0c;也称为硬盘。 磁盘分区&#xff1a;指将一个磁盘分成多个逻辑部分&#xff0c;每个部分可以独立地进行管理和操作&#xff0c;例如格式化、安装操作系统等。 如上图&#xf…

AWS 中文入门开发教学 46- S3 - AWS的存储核心, Simple Storage Service

知识点 S3的基础知识官网 https://aws.amazon.com/cn/s3 基础介绍 Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,(其实就是文件存储) 提供行业领先的可扩展性、数据可用性、安全性和性能。这意味着各种规模和行业的客户都可以使用 S3 来存储并保护各种…

归并排序—C语言实现

前言 &#x1f970;在学数据结构的第一节课就知道了数据结构课程是要管理并且学会操作数据&#xff0c;当然操作数据首先想到的就是数据的排序&#xff0c;排过顺序的数据的使用价值才够大。前面我们学习了顺序表也学习了链表等等&#xff0c;这些就是储存数据的方法&#xff0…

2021机器学习阶段性复盘

文章目录 特征选择一、GBDT和Xgboost简介二、 GBDTLR协同过滤&#xff0c;SVD的劣势&#xff1a;极大化似然估计Wide&DeepxDeepFM朴素贝叶斯SVM转为拉格朗日函数转为对偶问题 决策树分类交叉熵损失函数数据预处理连续型特征为什么取对数 深度学习激活函数的作用Softmax与Si…

剑指offer64.求1+2+...+n

看到题脑子里就有了想法&#xff0c;这还不简单&#xff0c;直接用递归啊&#xff0c;return一个nsumNums(n-1)写完之后发现到了0你得终止但是不能用if等语句你没办法终止&#xff0c;想了大概十分钟放弃了&#xff0c;这没办法终止啊&#xff0c;然后看了题解。 class Soluti…

QCFS-related work

一、代码 def replace_maxpool2d_by_avgpool2d(model): # 将模型中的所有MaxPool2d层替换为AvgPool2d层。for name, module in model._modules.items(): # 函数使用递归方式遍历模型的所有模块&#xff0c;通过model._modules.items()获取模型的子模块以及它们对应的名称。if …

Java电子招投标采购系统源码-适合于招标代理、政府采购、企业采购

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…

【Elasticsearch】文档操作

目录 3.文档操作 3.1.新增文档 3.2.查询文档 3.3.删除文档 3.4.修改文档 3.4.1.全量修改 3.4.2.增量修改 3.5.总结 3.文档操作 3.1.新增文档 语法&#xff1a; POST /索引库名/_doc/文档id {"字段1": "值1","字段2": "值2"…

软件测试当中的测试用例模板,仅供参考

测试用例这块知识、经验&#xff0c;小酋在前面陆续都讲完了。这章提供几种用例模板&#xff0c;作为这块知识的收尾。 - 1 - 测试用例&#xff08;主指功能测试用例模板&#xff09;的内容通常包括测试目标&#xff08;目的&#xff09;&#xff0c;需求标示&#xff08;一般…

Background-2 盲注关卡 sqli-Labs Less5-Less-6

文章目录 一、Less-5-less-6一、利用left(database(),1)进行尝试1.查看版本号2.查看数据库的长度3.猜测数据库的第一位 二、利用substr()&#xff0c;ascii()函数进行尝试三、利用regexp()获取&#xff08;2&#xff09;中users表中的列四、利用ord()&#xff0c;mid函数获取us…

elasticsearch插件ik分词器,无法启动解决方案

首先7以后的版本一定要与es的版本保持一致下载包只能下载这个路径的文件&#xff0c;版本号与自己的es版本保持一致 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.6.0/elasticsearch-analysis-ik-8.6.0.zip这里可以直接替换 docker容器无法启动&…

SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“

一、现象说明 最近在调试 RabbitMQ 程序的时候&#xff0c;日志里如下错误&#xff1a; SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/cod…

排序算法笔记-快速排序

文章目录 笔记简介时间复杂度空间复杂度解题模版练习题 笔记 简介 快速排序&#xff1a;确定分界数&#xff0c;左边小于分界&#xff0c;右边大于分界数&#xff0c;通过递归来不断重置分界数划分区域&#xff0c;直至完成排序 时间复杂度 最优 n*logn 最差 n^2 空间复杂…

找工作不用愁!送你一份Salesforce顾问面试秘籍(下)(含答案)

作为SaaS行业的先驱&#xff0c;Salesforce的发展一路高歌猛进。在Salesforce生态系统中不仅能学习到最新的技术&#xff0c;而且比其他行业的同岗位享有更高的薪水&#xff0c;这也驱使了越来越多人加入Salesforce大军。 在之前的文章中&#xff0c;自由侠部落为学习者梳理了…