Spring 快速入门

一、实例概述

  • 比Hello World更适用的实例
        论坛登录模块
  • 实例功能简介

二、环境准备

  • 构建工具Maven
        1、Maven基础概念
            Project、POM、GroupId、Artifact、Dependency、Plug-in、Repository
        2、Maven安装
            1)下载
            2)解压
            3)设置"JAVA_HOME"环境变量
            4)设置"M2_HOME"环境变量
            5)编辑"Path"环境变量
            6)MAVEN_OPTS="-Xms512m-Xmx1024m"
            7)mvn -v
  • 创建库表
        1、登录
        2、创建数据库
        3、创建数据表
        4、初始化数据
  • 建立工程
        1、设置编码
        2、建立工程
        3、POM文件配置
        4、Maven Projects选项卡操作
  • 类包及Spring配置文件规划
        1、类包规划
        2、Spring配置文件规划

三、持久层

  • 建立领域对象
        领域对象(Domain Object)也被称为实体类,它代表了业务的状态,
            且贯穿展现层、业务层和持久层,并最终被持久化到数据库中。
        领域对象使数据库表操作以面向对象的方式进行,
            为程序扩展带来了更大的灵活性。
        领域模型中的实体类可细分为4种类型:VO、DTO、DO、PO。
            PO(Persistent Object):持久化对象,表示持久层的数据结构(如数据库表);
            DO(Domain Object):领域对象,即业务实体对象;
            DTO(Data Transfer Object):数据传输对象,
                后来一般泛指用于展示层与服务层之间的数据传输对象;
            VO(View Object):视图对象,用于展示层视图状态对应的对象。
  • DAO
        1、@Repository 定义 DAO Bean。
        2、@Autowired 注入 JdbcTemplate。
        3、jdbcTemplate API 增删改查。
  • 在Spring中装配DAO
        1、<context:component-scan>扫描DAO包
        2、定义dataSource Bean。
        3、定义jdbcTemplate Bean,注入dataSource。

四、业务层

  • Service
        1、@service 定义 Service Bean。
        2、@Autowired 注入 DAO。
        3、调用 DAO 方法。
        4、@Transactional 加入事务。
  • 在Spring中装配Service
        1、引入aop及tx命名空间所对应的schema文件。
        2、<context:component-scan>扫描Service包
        3、配置事务管理,注入dataSource。
        4、通过AOP配置提供事务增强,让Service包下所有Bean的所有方法拥有事务。
            <aop:config proxy-target-class="true">
                <aop:pointcut id="serviceMethod"
                    expression="(execution(* com.service..*(..))) and 
                    (@annotation(org.springframework.transaction.annotation.Transactional))"/>
                <aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice"/>
            </aop:config>
            <tx:advice id="txAdvice" transaction-manager="transactionManager>
                <tx:attributes>
                    <tx:method name="*"/>
                </tx:attributes>
            </tx:advice>
  • 单元测试
        0、采用TextNG框架,比JUnit有了重大的改进。
        1、继承测试基类启动测试运行器
            AbstractTransactionalTextNGSpringContextTests。
        2、启动Spring容器
            @ContextConfiguration("classpath*:/applicationContext.xml")。
        3、@Autowired 注入 Service。
        4、@Text标注测试方法
        5、调用 Service 方法。

五、展现层

  • 配置 Spring MVC 框架
        1、<context-param>加载Spring配置文件。
        2、<listener>启动Spring容器的监听器。
        3、<servlet>配置Spring MVC
            Spring MVC也拥有一个Spring配置文件,该配置文件的文件名和Servlet名有一个契约,
            即采用<Servlet名>-servlet.xml的形式。
            在/WEB-INF目录下必须提供一个名为<Servlet名>-servlet.xml的Spring MVC配置文件,
            但这个配置文件无须通过web.xml的contextConfigLocation上下文参数进行声明,
            因为Spring MVC的Servlet会自动将<Servlet名>-servlet.xml文件
            和Spring的其他配置文件进行拼接。
        4、配置<servlet-name>和<servlet-mapping>
  • 处理登录请求
        1、POJO控制器类
            @Controller定义Controller Bean。
                可以将任何一个POJO的类标注为Spring MVC的控制器。
            @Autowired注入Service。
            调用Service方法。
            @RequestMapping指定方法如何映射请求路径。
        2、Spring MVC配置文件
            <context:component-scan>扫描Web包。
            配置视图解析器InternalResourceViewResolver。
        3、ModelAndView的解析配置
  • JSP视图页面
        1、登录页面
        2、欢迎页面

六、运行Web应用

  • 插件配置
        Jetty
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值