zoukankan      html  css  js  c++  java
  • spring boot开发与传统spring开发web项目便利性的比较

    登录示例

    典型的基于Spring的Web应用

    类包规划

    -schema

    -src

    ----main

    --------java

    ------------com.smart

    ----------------dao(持久层,负责数据的访问和操作,DAO类被上层的业务类调用)

    ----------------------LoginLogDao.java(负责记录用户的登录日志,Spring JDBC技术实现,1个方法insertLoginLog()接口方法,登录日志插入的操作

    ----------------------UserDao.java访问User的DAO,Spring JDBC技术实现,包括3个方法getMatchCount()根据用户名和密码获取匹配的用户数findUserByUserName()根据用户名获取User对象updateLoginInfo()更新用户积分

    ----------------domain(领域对象,也称实体类,严格属于业务层,但可能同时被持久层和展现层共享,所以单独分一个包)

    ----------------------LoginLog.java(日志信息,对应t_login_log数据库表

    ----------------------User.java(用户信息,对应t_user数据库表的对象映像,每个字段对应一个对象属性

    ----------------service(业务层,登录实例中,只有一个业务类

    ----------------------UserService.java业务接口,将持久层两个dao组织起来,完成用户名/密码认证、登录日志记录等操作,有3个业务方法hasMatchUser()用于检查用户名/密码的正确性findUserByUserName()以用户名为条件加载User对象loginSuccess()用户登录成功后调用,更新用户最后登录时间和IP信息t_user,同时记录用户登录日志t_login_log

    ----------------web(展现层

    ----------------------LoginCommand.java(POJO,包括用户/密码这两个属性

    ----------------------LoginController.java(POJO控制器类,负责处理登录请求,完成登录业务,并根据登录成功与否转向欢迎页面或失败页面。1、标注成为一个Spring MVC的Controller;2、负责处理/index.html的请求;3、负责处理/loginCheck.html的请求;

    ---------resources

    ------------log4j.properties(日志配置文件,放在类路径下,以便日志引擎自动生效)

    ------------smart-context.xml(Spring配置文件,DAO Bean的配置,1、扫描dao类包,将标注Spring注解的类自动转化为Bean,同时完成Bean注入;2、定义DBCP实现的数据源;3、定义JDBC模板bean,将2处声明的数据源注入模板里,这个模板通过注解自动注入UserDao和LoginLog的Bean中 | 1、引入aop及tx命名空间所对应的Schema文件;2、扫描service类包,应用Spring的注解配置;3、配置事物管理器,需要引用数据源;4、通过AOP配置提供事务增强,让service包下所有Bean的所以方法拥有事务)

    --------webapp

    ------------jsp

    ----------------login.jsp

    ----------------main.jsp

    ------------META-INF

    ----------------MANIFEST.MF

    ------------WEB-INF

    ----------------jsp

    ----------------------login.jsp(登录页面,及登录失败后的响应页面

    ----------------------main.jsp(欢迎页面

    ----------------smart-servlet.xml(Spring MVC配置文件,声明控制器。1、扫描Web包,应用Spring的注解;2、配置视图解析器,将ModelAndViex及字符串解析为具体的页面

    ----------------web.xml(配置Spring MVC框架,以便Web容器启动时能够自动启动Spring容器。1、从类路径下加载Spring配置文件,classpath关键字特指类路径下加载;2、启动Spring容器的监听器,引用1处的上下文参数获得spring配置文件的地址;3、配置Spring MVC的主控Servlet,及Spring MVC处理的URL

    ------------index.jsp

    ------------log4j.properties

    ----test

    --------java

    ------------com.smart.service(对业务类进行单元测试,检验业务方法的正确性,1、TestNG依赖包添加到根模块pox.xml文件中;2、启动Spring容器;3、注入Spring容器中的Bean;4、标注测试方法

    ----------------------UserServiceTest.java

    -pom.xml(依赖的Spring模块类库;依赖的数据库驱动类库;依赖的连接池类库;依赖的Web类库)

    应用Spring Boot快速完成上述基于Spring的Web项目开发

    -src

    ----main

    --------java

    ------------com.smart

    ----------------dao(持久层,负责数据的访问和操作,DAO类被上层的业务类调用)

    ----------------------LoginLogDao.java(负责记录用户的登录日志,Spring JDBC技术实现,1个方法insertLoginLog()接口方法,登录日志插入的操作

    ----------------------UserDao.java(访问User的DAO,Spring JDBC技术实现,包括3个方法getMatchCount()根据用户名和密码获取匹配的用户数,findUserByUserName()根据用户名获取User对象,updateLoginInfo()更新用户积分

    ----------------domain(领域对象,也称实体类,严格属于业务层,但可能同时被持久层和展现层共享,所以单独分一个包)

    ----------------------LoginLog.java(日志信息,对应t_login_log数据库表

    ----------------------User.java(用户信息,对应t_user数据库表的对象映像,每个字段对应一个对象属性

    ----------------service(业务层,登录实例中,只有一个业务类

    ----------------------UserService.java(业务接口,将持久层两个dao组织起来,完成用户名/密码认证、登录日志记录等操作,有3个业务方法hasMatchUser()用于检查用户名/密码的正确性,findUserByUserName()以用户名为条件加载User对象,loginSuccess()用户登录成功后调用,更新用户最后登录时间和IP信息t_user,同时记录用户登录日志t_login_log

    ----------------web(展现层)

    ----------------------LoginCommand.java(POJO,包括用户/密码这两个属性)

    ----------------------LoginController.java(POJO控制器类,负责处理登录请求,完成登录业务,并根据登录成功与否转向欢迎页面或失败页面。1、标注成为一个Spring MVC的Controller;2、负责处理/index.html的请求;3、负责处理/loginCheck.html的请求;)

    ----------------Application.java(应用主类,启动Spring Boot,启用注解事务管理,继承Spring Boot提供的Servlet初始化器,并重写它的configure()方法

    ---------resources

    ------------application.properties(配置数据库的连接信息,为了让Spring Boot能够自动装配数据源的连接。1、配置数据库连接信息;2、指定自定义连接池;3、连接池配置信息;4、配置JNDI数据源;5、初始化数据库脚本;配置创建好的视图路径;Actuator服务健康检查属性配置

    --------webapp

    ------------public(静态文件JS、CSS、Image)

    ----------------spring.png

    ------------resources(静态文件JS、CSS、Image)

    ----------------spring.png

    ------------static(静态文件JS、CSS、Image)

    ----------------spring.png

    ------------WEB-INF

    ----------------jsp

    ----------------------login.jsp(登录页面,及登录失败后的响应页面)

    ----------------------main.jsp(欢迎页面)

    ----------------------hello.jsp

    -pom.xml(继承Spring Boot默认配置;根据应用需要添加不同类型(比如Boot Web,JDBC,jasper,jstl)启动器依赖;配置运行插件;添加监控功能Actuator)

    由上可见Spring Boot配置文件少了,具体如何实现各功能应用请见下章。

    ——《精通Spring 4.x 企业应用开发实战》第2章 第3章

  • 相关阅读:
    openldap
    Java实现 洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…
    Java实现 洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P1567 统计天数
    Java实现 洛谷 P1567 统计天数
  • 原文地址:https://www.cnblogs.com/lely/p/8981655.html
Copyright © 2011-2022 走看看