Spring 4.x 学习 第二章

快速入门

论坛登录模块实例
Spring 拥有持久层、业务层和展现层的“原生技术”,分别是Spring JDBC、声明式事务和Spring MVC
实例功能简介
首先登陆页面提供一个带用户名/密码的输入表单,用户填写并提交表单后,服务器端程序检查是否有匹配的用户名/密码。如果用户名/密码不匹配,则返回登录页面,并给出提示;如果用户名/密码匹配,则记录用户的成功登录日子,更新用户的最后登录时间和ip,并给用户增加5个积分,然后重定向到欢迎页面。如图:这里写图片描述
在持久层拥有两个DAO类,分别是UserDao和LoginLogDao,在业务层对应一个业务类UerService,在展现层拥有一个LoginController类和两个JSP页面,分别是登录页面login.jsp和欢迎页面main.jsp
登录模块整体流程时序图
持久层
持久层负责数据的访问和操作,DAO类被上层的业务类调用。持久层的主要工作就是从数据库表种加载数据并实例化领域对象(实体类),或将领域对象(实体类)持久化到数据库表中。
UserDao
这里用@Respository定义一个DaoBean,使用@AutoWired将Spring容器中的Bean注入进来(关于Spring的注解配置,将在第四章详细讲述)
在Spring中装配DAO
在resources文件夹中创建smart-context.xml的Spring配置文件,文件结构如下
Spring配置文件
在文件中配置以下信息
Spring配置信息
在1处,我们使用Spring的扫描指定类包下的所有类,这样在类中定义的Spring注解(@Repository、@Autowired等)才能产生作用。
在2处,我们使用Jakarta的DBCP开源数据源实现方案定义了一个数据源,数据库驱动器类为com.mysql.jdbc.Driver.
在3处配置了JdbcTemplateBean,将2处声明的dataSource注入JdbcTemplate中,二这个JdbcTemplate Bean 将通过@Auto wired自动注入LoginLog和UserDao的Bean中,可见Spring可以很好地将注解配置和Xml配置统一起来。
业务层
在实例中业务层仅有一个业务类,即UserService,负责将持久层的UserDao和LoginDao组织起来,完成用户/密码认证、登录日志记录等操作。
UserService1
UserService2
首先1处通过@Service注解将UserService标注为一个服务层的Bean
然后在2和3处注入userDao和loginLogDao 这两个Dao层的Bean
最后在4处为loginSucess()方法标注@Transactional事务注解,让方法运行在事务环境中(因为我们在Spring事务管理器拦截切入表达式上加入了@Transactional过滤),否则该方法将在无事务方法中运行
在Spring中装配Service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值