栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM整合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM整合

目录

一,环境配置

1.创建数据库和表结构

2.创建Maven工程

3.添加基本依赖(pom.xml)

二,java类的编写

1.编写实体类

2.编写持久层的接口

3.编写业务层实现类

4.编写Controller

三,整合配置

保证spring框架在web工程中能够独立运行

1.编写spring配置文件并导入约束文件

2.使用注解配置业务层

3.导入log4j.properties配置文件

4.测试spring能否独立运行

 保证SpringMVC在web工程中独立运行

1.在web,xml中配置核心控制器(DispatcherServlet)

2.编写SpringMVC的配置文件

3.编写Controller和jsp页面

4.配置服务器运行环境

Spring 整合 SpringMVC 的框架

1.配置监听器实现启动服务创建容器

web.xml的配置完全体

2.在controller中注入service对象,调用service对象的方法进行测试

保证Mybatis框架在web工程中独立运行

1.在web项目中编写mybatis-config.xml的配置文件,编写核心配置文件

2.在AccountDao接口方法上添加注解,编写sql语句

3.不写注解则编写对应的mapper配置文件 

Spring整合MyBatis框架

2.在ApplicationContext.xml配置文件中配置spring的事务

ApplicationContext.xml的完全体!

3.在AccountDao接口中添加@Repository注解

4.在service中注入dao对象

5.修改AccountController代码

5.修改前端页面

6.测试功能

四,总体配置文件查找

web.xml

applicationContext.xml

jdbc.properties

mybatis-config.xml

spring-mvc.xml


一,环境配置

1.创建数据库和表结构

eg:

create database ssm;
create table account(
id int primary key auto_increment,
name varchar(100),
money double(7,2)
);

2.创建Maven工程

3.添加基本依赖(pom.xml)



  4.0.0

  org.example
  ssm-crud
  1.0-SNAPSHOT
  
    
    
      
      
        org.mybatis.generator
        mybatis-generator-maven-plugin
        1.3.0
      
    
  
  war

  ssm-crud Maven Webapp
  
  http://www.example.com

  
    UTF-8
    1.7
    1.7
  

  
    
      org.mybatis.generator
      mybatis-generator-core
      1.3.5
    
    
      junit
      junit
      4.11
      test
    

    
      org.springframework
      spring-test
      5.0.5.RELEASE
    


    
      org.springframework
      spring-webmvc
      5.0.5.RELEASE
    

    
      org.springframework
      spring-jdbc
      5.0.5.RELEASE
    

    
      org.springframework
      spring-aspects
      4.3.7.RELEASE
    

    
      org.mybatis
      mybatis
      3.5.5
    

    
      org.mybatis
      mybatis-spring
      1.3.1
    

    
      c3p0
      c3p0
      0.9.1.2
    
    
      mysql
      mysql-connector-java
      8.0.25
    

    
      jstl
      jstl
      1.2
    

    
      javax.servlet
      servlet-api
      2.5
      provided
    

    
      org.mybatis.generator
      mybatis-generator-core
      1.3.5
    
  
  

二,java类的编写

1.编写实体类

eg:Account

package com.ye.domain;

import java.io.Serializable;


public class Account implements Serializable {

    private Integer id;
    private String name;
    private Double money;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getMoney() {
        return money;
    }

    public void setMoney(Double money) {
        this.money = money;
    }

    @Override
    public String toString() {
        return "Account{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", money=" + money +
                '}';
    }
}

2.编写持久层的接口
package com.ye.dao;

import com.ye.domain.Account;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;

public interface AccountDao {

    //查询所有账户
    public List findAll();

    //保存账户
    public void saveAccount(Account account);

}

3.编写业务层实现类
package com.ye.service.impl;

import com.ye.dao.AccountDao;
import com.ye.domain.Account;
import com.ye.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

public class AccountServiceImpl implements AccountService {

    @Override
    public List findAll() {
        System.out.println("业务层,查询所有。。。");
        return null;
    }

    @Override
    public void saveAccount(Account account) {
        System.out.println("业务层,保存账户。。。");
    }
}

4.编写Controller
package com.ye.controller;

public class AccountController {

}

三,整合配置

保证spring框架在web工程中能够独立运行

1.编写spring配置文件并导入约束文件

applicationContext,xml




    
    
        
        
    


2.使用注解配置业务层

AccountServiceImpl:

package com.ye.service.impl;

import com.ye.dao.AccountDao;
import com.ye.domain.Account;
import com.ye.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

//这里加上注解哦!!!!!!
@Service("accountService")
public class AccountServiceImpl implements AccountService {


    @Override
    public List findAll() {
        System.out.println("业务层,查询所有。。。");
        return null;
    }

    @Override
    public void saveAccount(Account account) {
        System.out.println("业务层,保存账户。。。");
    }
}

3.导入log4j.properties配置文件
# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, ConSOLE            debug   info   warn error fatal
log4j.rootCategory=info, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, ConSOLE

# ConSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.ConSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %mn

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %mn

4.测试spring能否独立运行
package com.ye.test;

import com.ye.service.AccountService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestSpring {

    @Test
    public void run1(){
        //加载配置文件
        ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        //获取对象
        AccountService as = (AccountService)ac.getBean("accountService");
        //调用方法
        as.findAll();

    }
}

运行结果如下即可:

业务层,查询所有。。。

Process finished with exit code 0

 保证SpringMVC在web工程中独立运行

1.在web,xml中配置核心控制器(DispatcherServlet)

web.xml





    Archetype Created Web Application

    
    
        dispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:springmvc.xml
        
        
        1
    
    
        dispatcherServlet
        /
    

    
    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
    
    
        characterEncodingFilter
        
    @RequestMapping("/findAll")
    public String findAll(){
        System.out.println("表现层,查询所有账户信息。。。");
        return "list";
    }

}

list.jsp:



    Title



    查询所有的账户



4.配置服务器运行环境

①配置Tomcat进行启动

②配置插件进行启动


    
      
        org.apache.tomcat.maven
        tomcat7-maven-plugin
        2.2
      
    
  

启动服务器,进行测试

测试成功 且控制台返回结果即可

表现层,查询所有账户信息。。。

Spring 整合 SpringMVC 的框架

目的:在controller中能成功调用service对象的方法

1.配置监听器实现启动服务创建容器

在web,xml中添加监听器:

    
         
    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    

到此为止,web.xml就全部配置完毕了!

web.xml的配置完全体



    
    
    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    
    
        DispatcherServlet
        /
    

    
    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        CharacterEncodingFilter
        
    @RequestMapping("/findAll")
    public String findAll(){
        System.out.println("表现层,查询所有账户信息。。。");
        //调用service的方法
        accountService.findAll();
        return "list";
    }
}

运行结果:

控制台输出

表现层,查询所有账户信息。。。

业务层,查询所有。。。

保证Mybatis框架在web工程中独立运行

1.在web项目中编写mybatis-config.xml的配置文件,编写核心配置文件

mybatis-config,xml




    
        
    
    
        
    

    

jdbc.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=111111

2.在AccountDao接口方法上添加注解,编写sql语句
package com.ye.dao;

import com.ye.domain.Account;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;

public interface AccountDao {

    //查询所有账户
    @Select("select * from account")
    public List findAll();

    //保存账户
    @Insert("insert into account(name,money) values(#{name},#{money})")
    public void saveAccount(Account account);

}

3.不写注解则编写对应的mapper配置文件 

Spring整合MyBatis框架

在ApplicationContext.xml中

    

    
        
        
        
        
    


    

        
        

         

5.修改前端页面

6.测试功能

四,总体配置文件查找

web.xml



    
         
    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    
    
        DispatcherServlet
        /
    

    
    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        CharacterEncodingFilter
        /*
    










applicationContext.xml




    
        
        
    


    

    
        
        
        
        
    


    

        
        

        
    


    

        
    


    

        
    


    

        

        
    

    
        

            

            
        
    


jdbc.properties
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=111111

mybatis-config.xml



    
        
    
    
        
    

spring-mvc.xml



    
    

        
    


    
        
        
    



    

    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754706.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号