03_入门程序(注解方式,掌握)

【工程截图】

【springmvc.xml】(注解方式,未优化

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">

    <!-- 配置Handler -->
<!--     <bean name="/queryItems.action" class="cn.Higgin.ssm.controller.ItemsController"/> -->

    <!-- 处理器映射器
        将bean的name作为url进行查找,需要在配置Handler时指定beanname(即url)-->
<!--     <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> -->

    <!-- 处理适配器
        注意:所有的处理适配器都实现了HandlerAdapter接口-->
<!--     <bean  class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> -->

    <!-- 注解映射器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
    <!-- 注解适配器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
    <!-- 配置handler,实际开发中一般使用组件扫描-->
    <bean class="cn.Higgin.ssm.controller.ItemsController" />

    <!-- 视图解析器
        解析jsp页面,默认使用jstl标签,classpath下面必须有jstl的jar包-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>

</beans>

【ItemsController.java】

package cn.Higgin.ssm.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import cn.Higgin.ssm.po.Items;

import org.springframework.stereotype.Controller;;
/**
 * 注解方式开发
 * 无需 实现Controller接口
 * 使用@Controller标识ItemsComtroller是一个控制器
 */
@Controller
public class ItemsController{

    /*
     * 商品查询列表
     * @RequestMapping实现对queryItems方法和url进行映射,一个方法对应一个url
     * 一般建议将url和方法写成一样
     */
    @RequestMapping("/queryItems")
    public ModelAndView queryItems(){
        //调用Service查找数据库,查询商品列表,这里使用静态数据模拟
        List<Items> itemsList=new ArrayList<Items>();
        //向list中填充数据
        Items item1=new Items();
        item1.setName("华硕笔记本");
        item1.setPrice(600f);
        item1.setDetail("华硕啦啦啦啦啦啦啦啦啦");

        Items item2=new Items();
        item2.setName("联想笔记本");
        item2.setPrice(300f);
        item2.setDetail("联想啦啦啦啦啦啦啦啦啦");

        itemsList.add(item1);
        itemsList.add(item2);

        //返回ModelAndView
        ModelAndView modelAndView=new ModelAndView();
        //相当于request的setAttribute,在jsp页面中通过itemList来获取
        modelAndView.addObject("itemsList",itemsList);
        //指定视图
        modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
        System.out.println("注解方式:ItemsComtroller......");
        return modelAndView;
    }
}

【其余部分代码不变,与上一篇Blog相同】

【运行结果】

控制台

【优化!!!!!】

【springmvc.xml】

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">

      <!-- 注解映射器 -->
<!--     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" /> -->
    <!--     注解适配器 -->
<!--     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> -->

    <!-- 这可代替注解映射器注解适配器 -->
    <mvc:annotation-driven />
    <!-- 配置handler,实际开发中一般使用组件扫描-->
  <!-- <bean class="cn.Higgin.ssm.controller.ItemsController" /> -->
   <context:component-scan base-package="cn.Higgin.ssm.controller"/>
  <!-- 也可以用<context:component-scan base-package="cn.Higgin.*"> -->

    <!-- 视图解析器
    解析jsp解析,默认使用jstl标签,classpath下的得有jstl的包
     -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 配置jsp路径的前缀 -->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!-- 配置jsp路径的后缀 -->
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

【ItemsController.java】

package cn.Higgin.ssm.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import cn.Higgin.ssm.po.Items;

import org.springframework.stereotype.Controller;;
/**
 * 注解方式开发
 * 无需 实现Controller接口
 * 使用@Controller标识ItemsComtroller是一个控制器
 */
@Controller
public class ItemsController{

    /*
     * 商品查询列表
     * @RequestMapping实现对queryItems方法和url进行映射,一个方法对应一个url
     * 一般建议将url和方法写成一样
     */
    @RequestMapping("/queryItems")
    public ModelAndView queryItems(){
        //调用Service查找数据库,查询商品列表,这里使用静态数据模拟
        List<Items> itemsList=new ArrayList<Items>();
        //向list中填充数据
        Items item1=new Items();
        item1.setName("华硕笔记本");
        item1.setPrice(600f);
        item1.setDetail("华硕啦啦啦啦啦啦啦啦啦");

        Items item2=new Items();
        item2.setName("联想笔记本");
        item2.setPrice(300f);
        item2.setDetail("联想啦啦啦啦啦啦啦啦啦");

        itemsList.add(item1);
        itemsList.add(item2);

        //返回ModelAndView
        ModelAndView modelAndView=new ModelAndView();
        //相当于request的setAttribute,在jsp页面中通过itemList来获取
        modelAndView.addObject("itemsList",itemsList);
        //指定视图  //相对于上面就做了这一处修改,对应配置文件中的视图解析器
        modelAndView.setViewName("items/itemsList");
        System.out.println("注解方式:ItemsComtroller......");
        return modelAndView;
    }
}
时间: 2024-11-01 21:05:19

03_入门程序(注解方式,掌握)的相关文章

springMVC入门程序-注解开发环境配置

在进行springMVC开发时,我们也希望通过注解进行开发,这样比较快捷方便.现将springMVC开发步骤记录如下: 1.新建web程序,导入springMVC需要的jar包: 2.配置web.xml文件.主要是进行servlet的配置. 1 <servlet> 2 <servlet-name>springmvc</servlet-name> 3 <servlet-class>org.springframework.web.servlet.Dispatch

使用Spring的注解方式实现AOP入门

首先在Eclipse中新建一个普通的Java Project,名称为springAOP.为了使用Spring的注解方式进行面向切面编程,需要在springAOP项目中加入与AOP相关的jar包,spring aop需要额外的jar包有: com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar spring-aop-4.2.5.RELEASE.jar sprin

4.Spring注解方式IOC的快速入门

1.导入jar包 2.创建对应的类 public interface HelloService { public void sayHello(); } /** * @Component(value="helloService") 相当于 <bean id="helloService" class="com.spring.demo1.HelloSeviceImpl"/> * @author NEWHOM * */ @Component(

MyBatis从入门到精通(第3章): MyBatis注解方式的基本使用

MyBatis 注解方式就是将 SQL 语句直接写在DAO层的接口上. 在黑马2018年录制的双元视频课:\08 SSM整合案例[企业权限管理系统]\07.订单操作  有使用mybatis注解进行多表关联查询的案例,在下文会有使用注解的补充说明. 这种方式的优点是 , 对于需求比较简单的系统,效率较高.缺点是 ,当 SQL 有变化时都需要重新编译代码, 一般情况下不建议使用MyBatis的注解方式 . 因此, (原书)本章不会进行深入讲解. 在 MyBatis 注解 SQL 中,最基本的就是@S

【SpringMVC学习03】SpringMVC中注解和非注解方式下的映射器和适配器总结

从上一篇的springmvc入门中已经看到,springmvc.xml中的配置了映射器和适配器,是使用非注解的方式来配置的,这是非注解方式的一种,这里再复习一下: 1. 非注解方式 1.1 处理器适配器 上一节中使用的处理器适配器是:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.即: SimpleControllerHandlerAdapter适配器能执行实现了Controller接口的Handler,所以我

springmvc学习笔记(5)-入门程序小结

springmvc学习笔记(5)-入门程序小结 springmvc学习笔记5-入门程序小结 入门程序配置小结 非注解的完整的配置文件 注解的完整配置文件 通过入门程序理解springmvc前端控制器.处理器映射器.处理器适配器.视图解析器用法.并附上入门程序的非注解的完整的配置文件,注解的完整配置文件. 入门程序配置小结 前端控制器配置: 第一种:*.action,访问以.action结尾 由DispatcherServlet进行解析 第二种:/,所以访问的地址都由DispatcherServl

Mybatis入门程序

在做这个入门程序之前,我们来顶一下需求,根据需求来写程序会不会很有感觉呢? 一.  需求 实现以下功能: 根据用户id查询一个用户信息 根据用户名称模糊查询用户信息列表 添加用户 更新用户 删除用户 1.  第一步:创建java工程 使用eclipse创建java工程,jdk使用1.7. 2.  第二步:加入jar包 加入mybatis核心包.依赖包.数据驱动包. 3.  第三步:log4j.properties 在classpath下创建log4j.properties如下: <span st

JAVAEE——SpringMVC第一天:介绍、入门程序、架构讲解、SpringMVC整合MyBatis、参数绑定、SpringMVC和Struts2的区别

1. 学习计划   第一天 1.SpringMVC介绍 2.入门程序 3.SpringMVC架构讲解 a) 框架结构 b) 组件说明 4.SpringMVC整合MyBatis 5.参数绑定 a) SpringMVC默认支持的类型 b) 简单数据类型 c) Pojo类型 d) Pojo包装类型 e) 自定义参数绑定 6.SpringMVC和Struts2的区别   第二天 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 2.@RequestMapping注解的使用 3.Con

Mybatis(一)Mybatis简介与入门程序

Mybatis简介: MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设置参数.结果集检索等jdbc繁杂的过程代码. Mybatis通过xml或注解的方式将要执行的各种statement(statement.preparedStatemnt.CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生