JavaEE之SSM|JavaEE之SSM框架整合


JavaEE之SSM框架整合

  • 创建四个包
  • 资源目录结构
  • 导入需要的Jar包
  • 编写配置文件(5个)
    • applicationContext.xml
    • springmvc-config.xml
    • mybatis-config.xml
    • web.xml
    • log4j.properties
  • 数据库建表并插入数据
  • 根据数据库的字段编写实体类
  • 编写Dao层
  • 编写Service层
  • 编写Controller层
  • jsp页面编写

PS:以下内容根据老师讲课内容进行的梳理
创建四个包 在src下创建四个包:entity、dao、service、controller
资源目录结构 在WebContent下建立文件夹:js, jsp, css, images 等
导入需要的Jar包 spring、aop、mybatis、mybatis-spring、dbcp、mysql驱动、lang、jackson等。以下是所有的包
JavaEE之SSM|JavaEE之SSM框架整合
文章图片

编写配置文件(5个) 在src下创建以下5个文件
applicationContext.xml
  1. 管理service层的JavaBean 用扫描的方式

  1. 管理数据源 配置dbcp
    class的路径通过Web App Libraries找到dbcp2包的BasicDataSource,然后Copy Qualified Name

另:给数据库设置密码
① 点击数据库的用户
② 将这两个点进去 修改密码
JavaEE之SSM|JavaEE之SSM框架整合
文章图片

③ 点击连接属性 将刚才的新密码填进去
即可完成。
  1. 配置数据库的事务处理
    ① 通知(transactionManager):注入属性; ref的内容是前面dbcp配置的id名

② 开启事务注解


③ 管理Mybatis: 数据源、configLocation


  1. mybatis-spring整合:扫描Dao层

完整的applicationContext.xml如下

springmvc-config.xml
  1. 扫描控制层

  1. 配置视图解析器

  1. mvc注解驱动

  1. 静态资源放行:如果不写该部分,就需要前端控制器处理,那么路径就可能会找不到。

完整的springmvc-config.xml如下

mybatis-config.xml 主要:别名配置

web.xml
ssm> -name>springMvc -class>org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc-config.xml 1 -mapping> -name>springMvc / contextConfigLocation classpath:applicationContext.xml org.springframework.web.context.ContextLoaderListener

log4j.properties
log4j.rootCategory=DEBUG, CONSOLE, LOGFILElog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%C %d{yyyy-MM-dd HH:mm:ss}%m %nlog4j.appender.LOGFILE=org.apache.log4j.FileAppender log4j.appender.LOGFILE.File=log.log log4j.appender.LOGFILE.Append=true log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout log4j.appender.LOGFILE.layout.ConversionPattern=%C %d{yyyy-MM-dd HH:mm:ss}%m %n

数据库建表并插入数据 根据数据库的字段编写实体类 编写Dao层 下面两者的命名要一样
1、ProductMapper接口: 方法
public interface ProductMapper { public ProductEntity selectProduct(int id); }

2、ProductMapper.xml
="selectProduct" resultType="productEntity"> select * from tb_product where id=#{id}

编写Service层 1、service接口方法
public interface ProductService { //验证产品 public boolean validProduct(int id); }

2、实现service接口中定义的方法
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.cqust.dao.ProductMapper; import com.cqust.entity.ProductEntity; @Service public class ProductServiceImpl implements ProductService{ @Autowired private ProductMapper productMapper; @Override public boolean validProduct(int id) { //调用Dao层的方法 ProductEntity p=productMapper.selectProduct(id); if(p.getProductname().equals("huawei")){ return true; } return false; } }

编写Controller层
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.cqust.service.ProductService; @Controller public class ProductController { @Autowired private ProductService productService; @GetMapping("/toFindProduct") public String toFindProduct(){ return "product"; } @PostMapping("/findProduct") @ResponseBody//该注解用于转换到Jackson串 public String findProduct(int id){ boolean rtn=productService.validProduct(id); if(rtn == true){ return "Yes"; } return "No"; } }

jsp页面编写 【JavaEE之SSM|JavaEE之SSM框架整合】body部分
ID:

    推荐阅读