一、实例概述
- 比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

被折叠的 条评论
为什么被折叠?



