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章

  • 相关阅读:
    POJ 1045
    POJ 1051
    POJ 1047
    POJ 1050
    POJ 1046
    POJ 1036
    POJ 1035
    POJ 1032
    【洛谷P1412】经营与开发
    【洛谷P3377】【模板】左偏树(可并堆)
  • 原文地址:https://www.cnblogs.com/lely/p/8981655.html
Copyright © 2011-2022 走看看