spring SSM框架

1. 什么是SSM:

SSM框架是Spring、Spring MVC和MyBatis这三个框架的组合,主要用于开发Java Web应用程序。它是一种标准的MVC(Model-View-Controller)模式,包含了以下几个主要部分:

  1. Spring:一个轻量级的Java开发框架,提供控制反转(IoC)和面向切面编程(AOP)等功能。Spring负责业务对象的管理,通过IoC容器管理对象的创建和依赖注入,提高了代码的可测试性和可维护性。

  2. Spring MVC:基于Spring框架的MVC模式的Web框架,用于处理Web请求和响应。它分离了控制器、视图和模型,简化了Web请求和响应的处理过程。

  3. MyBatis:一个持久层框架,通过XML或注解方式提供灵活的SQL映射和数据库访问,简化了数据库操作的编写。

SSM框架的四层结构包括:

  • DAO层(Mapper层):负责数据持久层的工作,与数据库进行交互。
  • Service层:主要负责业务模块的逻辑应用设计。
  • Controller层(Handler层):负责具体的业务模块流程的控制。
  • View层:主要与用户界面相关。

这种框架组合的优势在于它的灵活性、易扩展性和高性能,因此在Java Web应用程序的开发中得到了广泛应用,尤其是在中小型项目和企业级应用中123。

2. SSM的优势:

SSM框架的优势可以从以下几个方面进行详细说明:

  1. 高度集成:Spring、Spring MVC和MyBatis三个框架的结合提供了一个完整的解决方案,涵盖了Web应用的多个层面,从表现层到业务逻辑层再到持久层。

  2. 简化开发

    • Spring的IoC:通过控制反转,减少了组件之间的耦合,使得对象的创建和依赖关系的管理更加灵活,简化了代码的编写和维护。
    • Spring的AOP:面向切面编程允许开发者在不修改业务逻辑代码的情况下,添加额外的功能(如日志、事务管理等),提高了代码的模块化。
    • MyBatis的SQL映射:简化了数据库操作,开发者可以更加专注于SQL的编写,而不是传统的JDBC代码。
  3. 灵活性和扩展性

    • 可配置性:SSM框架提供了丰富的配置选项,使得开发者可以根据项目需求灵活配置框架行为。
    • 易于集成其他框架:由于Spring框架的广泛应用和良好的社区支持,SSM框架可以很容易地与其他流行的Java框架和库集成。
  4. 高效性能

    • MyBatis的动态SQL:减少了数据库的交互次数,提高了数据操作的效率。
    • Spring的声明式事务管理:简化了事务控制,提供了更高效的性能和更好的资源管理。

综上所述,SSM框架的优势在于它提供了一个高效、灵活且易于维护的Java Web应用开发平台,使得开发者能够更加专注于业务逻辑的实现,而无需过多关注底层的技术细节。

3. SSM实操:

案例实现:

代码详解:

1. 经典的三层架构,运用一些注解提高效率,在控制层调用服务层方法,得到的数据送到作用域中等前端页面取;

 public void setAdvService(AdvService advService) {
        this.advService = advService;
    }

    @Resource
    private AdvService advService;

    @RequestMapping("/ceshi.action")
    public ModelAndView query() {
        List<Adv> advs = advService.qurryAll();
//        System.out.println(advs);

        ModelAndView mv = new ModelAndView();
        mv.addObject("LIST", advs);
        mv.setViewName("/advlist.jsp");
        return mv;
    }

2. 删除功能:删除键设置为一个超链接并添加事件,弹出一个弹窗,让用户选择是否确定删除,点击向服务端发送删除请求,客户端接收请求,根据得到的id,删除指定的数据;

    <a href="delete.action?advId=<%=adv.getAdvId()%>" onclick="return confirmDelete(this);">删除</a>

   <script>
        function confirmDelete(link) {
            // 弹出确认框
            var isConfirmed = confirm('您确定要删除这条记录吗?');
            // 如果用户点击“确定”,则返回 true,允许链接的默认行为(跳转)
            // 如果用户点击“取消”,则返回 false,阻止链接的默认行为
            return isConfirmed;
        }
    </script>

    @RequestMapping("/delete.action")
    public ModelAndView delete(HttpServletRequest request) {
        int advId = Integer.parseInt(request.getParameter("advId"));
        advService.delete(advId);
        return query();
    }

3. 新增与修改功能:通过表单将需要添加或修改的数据传到服务端,进行新增或修改功能

<form action="addadv.action" method="post"  enctype="application/x-www-form-urlencoded; charset=UTF-8">
    <table>
        <tr>
            <td>广告标题:</td>
            <td><input type="text" name="advTitle"></td>
        </tr>
        <tr>
            <td>过期时间:</td>
            <td><input type="date" name="expiredTime"></td>
        </tr>
        <tr>
            <td>广告分类:</td>
            <td>
                <select name="categoryId">
                    <option value="1">游戏</option>
                    <option value="2">生活</option>
                    <option value="3">吃喝玩乐</option>
                    <!-- 这里可以添加更多的选项 -->
                </select>
            </td>
        </tr>
        <tr>
            <td>广告内容:</td>
            <td><textarea name="advContent" rows="4" cols="50"></textarea></td>
        </tr>
        <tr>
            <td>备注:</td>
            <td><textarea name="remark" rows="2" cols="50"></textarea></td>
        </tr>
    </table>
    <br>
    <input type="submit" value="新增广告">
</form>

4.总结:

这个小项目对于杠学会SSM框架的我还是有一定难度的,不过看似很难,其实就是将三个框架的东西整合到一起,通过翻看之前框架的代码后,写起来也是顺手了很多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值