SSM整合

SSM整合,第1张

SSM整合

环境:

maven 3.8.1

Tomcat 7.0.84

idea 2021

Mysql 8.0

先建立一个普通的maven项目,把包都建好。把基础的代码都写好,比如实体类等等。

目录

1.导入依赖

2.配置文件

3.添加web支持

4.测试


1.导入依赖

1.1pom.xml:


        
            junit
            junit
            4.13.1
            test
        
        
            javax.servlet.jsp
            jsp-api
            2.2.1-b03
        
        
            javax.servlet
            servlet-api
            3.0-alpha-1
        
        
        
            javax.servlet.jsp.jstl
            jstl-api
            1.2
        
        
        
            org.apache.taglibs
            taglibs-standard-impl
            1.2.5
            runtime
        
        
            mysql
            mysql-connector-java
            8.0.13
        
        
            com.alibaba
            druid
            1.2.6
        
        
            org.mybatis
            mybatis
            3.5.6
        
        
            org.mybatis
            mybatis-spring
            2.0.6
        
        
            org.springframework
            spring-webmvc
            5.3.9
        
        
        
            org.aspectj
            aspectjweaver
            1.9.4
        
        
            org.springframework
            spring-jdbc
            5.3.9
        
    

1.2静态资源导出:


        
            
                src/main/resources
                
                    ***.xml
                
                false
            
            
                src/main/java
                
                    ***.xml
                
                false
            
            
                src/main/resources
                true
            
        

    
2.配置文件                

2.1新建mybatis.xml文件:

        我们以前在mybatis.xml做的 *** 作,比如说设置数据源,连接池等...在整合之后都在Spring里面写。我们只需要在mybatis.xml做一些简单的 *** 作即可。





    

    
    
        
    

    
    
        
    

    
        

    

2.2建立applicationContext.xml文件:






先什么都不要写,等把配置文件写完之后再在applicationContext.xml中引入。如果不引用的话可能会引发报错,找不到Spring托管的类等等。

2.3建立数据库配置文件:database.properties

这里是MySQL的数据库配置。用什么数据库就配什么就好了。

username=root
password=root
url=jdbc:mysql://localhost:3306/ssmbuild?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8&useSSL=false
driver=com.mysql.cj.jdbc.Driver

2.4新建spring-dao.xml文件:

先关联数据库配置文件,然后设置连接池,这里我用的是druid 连接池。现在sqlSessionFactory交给Spring托管直接省去了以前繁琐的代码。再配置dao接口扫描包MapperScannerConfigurer,动态地实现了dao接口注入到Spring中。





    
    

    
    
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
        
        
        
    

2.5新建spring-service.xml文件:

扫描service包下带注解的类交给Spring托管。再将我们所有的业务也注入到Spring中,也可以通过配置,或者注解实现。




    
    

    
    
        
    

    
    
        
        
    

    
    
    
        
        
            
            
            
            
            
        
    
    
    
        
        
    

2.5.1*ServiceImpl.java 类:

注:serviceimpl层的实现类一定要加@Service注解,否则Spring扫描不到。

package com.wei.service.impl;

import com.wei.dao.BooksMapper;
import com.wei.pojo.Books;
import com.wei.service.BooksService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class BooksServiceImpl implements BooksService {

    @Autowired
    private BooksMapper booksMapper;

    public void setBooksMapper(BooksMapper booksMapper) {
        this.booksMapper = booksMapper;
    }

    @Override
    public int deleteBook(int id) {
        return booksMapper.deleteBook(id);
    }

    @Override
    public int addBook(Books books) {
        return booksMapper.addBook(books);
    }

    @Override
    public int updateBook(Books books) {
        return booksMapper.updateBook(books);
    }

    @Override
    public Books getBookBYId(int id) {
        return booksMapper.getBookBYId(id);
    }

    @Override
    public List queryAllBook() {
        return booksMapper.queryAllBook();
    }


}
3.添加web支持

3.1配置web.xml:

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

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

    
    
        15
    

3.2新建spring-mvc.xml文件:




    
    
    
    

    
    

    
    
        
        
    

3.2.1controller层*.java类代码:

package com.wei.controller;

import com.wei.pojo.Books;
import com.wei.service.BooksService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller
@RequestMapping("/book")
public class BooksController {

    @Autowired
    @Qualifier("bookServiceImpl")
    private BooksService booksService;


    @RequestMapping("/allbook")
    public String getAllBook(Model model){
        List books = booksService.queryAllBook();
        model.addAttribute("books",books);
        return "allBooks";

    }

}

所有的配置文件都在applicationContext.xml中引用!



4.测试
package com.wei.test;

import com.wei.pojo.Books;
import com.wei.service.BooksService;
import com.wei.service.impl.BooksServiceImpl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;

public class Test {

    @org.junit.Test
    public void testAllBook(){
       ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        BooksService booksServiceImpl = (BooksService) context.getBean("bookServiceImpl");
        List books = booksServiceImpl.queryAllBook();
        for (Books book : books) {
            System.out.println(book);
        }


    }

}

如果以上实现不了,报错请面向百度编程!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5636851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存