SpringMVC-06-SSM整合

打印 上一主题 下一主题

主题 1043|帖子 1043|积分 3129

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1、环境要求


  • IDEA
  • MySQL 8.x
  • Tomcat 9
  • Maven 3.6
这只是大型软件要求,项目相关的jar包依赖将在Maven中配置。
项目前置技能:MySQL、Mybatis、Spring、JavaWeb、简单的前端知识。
2、数据库表

创建一个存放书籍数据的数据库表
  1. CREATE DATABASE `ssmbuild`;
  2. USE `ssmbuild`;
  3. DROP TABLE IF EXISTS `books`;
  4. CREATE TABLE `books`
  5. (
  6.     `bookID`     INT(10)      NOT NULL AUTO_INCREMENT COMMENT '书id',
  7.     `bookName`   VARCHAR(100) NOT NULL COMMENT '书名',
  8.     `bookCounts` INT(11)      NOT NULL COMMENT '数量',
  9.     `detail`     VARCHAR(200) NOT NULL COMMENT '描述',
  10.     KEY `bookID` (`bookID`)
  11. ) ENGINE = INNODB
  12.   DEFAULT CHARSET = utf8;
  13. INSERT INTO `books`(`bookID`, `bookName`, `bookCounts`, `detail`)
  14. VALUES (1, 'Java', 1, '从入门到放弃'),
  15.        (2, 'MySQL', 10, '从删库到跑路'),
  16.        (3, 'Linux', 5, '从进门到进牢');
复制代码
3、基本项目搭建

新建Maven项目,SpringMVC-06-SSM,添加web框架支持。
编写pom.xml,导入依赖
  1. <dependencies>
  2.    
  3.     <dependency>
  4.         <groupId>junit</groupId>
  5.         <artifactId>junit</artifactId>
  6.         <version>4.12</version>
  7.     </dependency>
  8.    
  9.     <dependency>
  10.         <groupId>org.projectlombok</groupId>
  11.         <artifactId>lombok</artifactId>
  12.         <version>1.18.32</version>
  13.     </dependency>
  14.    
  15.     <dependency>
  16.         <groupId>mysql</groupId>
  17.         <artifactId>mysql-connector-java</artifactId>
  18.         <version>8.0.16</version>
  19.     </dependency>
  20.    
  21.     <dependency>
  22.         <groupId>com.mchange</groupId>
  23.         <artifactId>c3p0</artifactId>
  24.         <version>0.9.5.2</version>
  25.     </dependency>
  26.    
  27.     <dependency>
  28.         <groupId>javax.servlet</groupId>
  29.         <artifactId>servlet-api</artifactId>
  30.         <version>2.5</version>
  31.     </dependency>
  32.     <dependency>
  33.         <groupId>javax.servlet.jsp</groupId>
  34.         <artifactId>jsp-api</artifactId>
  35.         <version>2.1</version>
  36.     </dependency>
  37.     <dependency>
  38.         <groupId>javax.servlet</groupId>
  39.         <artifactId>jstl</artifactId>
  40.         <version>1.2</version>
  41.     </dependency>
  42.    
  43.     <dependency>
  44.         <groupId>org.mybatis</groupId>
  45.         <artifactId>mybatis</artifactId>
  46.         <version>3.5.2</version>
  47.     </dependency>
  48.     <dependency>
  49.         <groupId>org.mybatis</groupId>
  50.         <artifactId>mybatis-spring</artifactId>
  51.         <version>2.1.2</version>
  52.     </dependency>
  53.    
  54.     <dependency>
  55.         <groupId>org.springframework</groupId>
  56.         <artifactId>spring-webmvc</artifactId>
  57.         <version>5.2.12.RELEASE</version>
  58.     </dependency>
  59.     <dependency>
  60.         <groupId>org.springframework</groupId>
  61.         <artifactId>spring-jdbc</artifactId>
  62.         <version>5.2.12.RELEASE</version>
  63.     </dependency>
  64.     <dependency>
  65.         <groupId>org.aspectj</groupId>
  66.         <artifactId>aspectjweaver</artifactId>
  67.         <version>1.9.4</version>
  68.     </dependency>
  69. </dependencies>
复制代码
创建基本结构和配置框架

  • com.moondream.controller 控制层
  • com.moondream.service 服务层
  • com.moondream.dao 持久层
  • com.moondream.pojo 实体类
  • web/WEB-INF/jsp 视图层
  • resources

    • mybatis-config.xml      Mybatis核心配置文件
      1. <?xml version="1.0" encoding="UTF-8" ?>
      2. <!DOCTYPE configuration
      3.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      4.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      5. <configuration>
      6.     <settings>
      7.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      8.     </settings>
      9.     <typeAliases>
      10.         <package name=""/>
      11.     </typeAliases>
      12.     <mappers>
      13.         <mapper resource=""/>
      14.     </mappers>
      15. </configuration>
      复制代码
    • applicationContext.xml     Spring全局配置文件
      1. [/code]
      2. [/list]
      3. [/list]
      4. [size=5]4、Mybatis层(DAO层)[/size]
      5. 数据库配置文件 [b]db.properties[/b]
      6. [code]driver=com.mysql.cj.jdbc.Driver
      7. url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
      8. user=root
      9. password=123456
      复制代码
      编写数据库表对应的实体类,使用Lombok依赖减少代码量
      1. package com.moondream.pojo;
      2. import lombok.AllArgsConstructor;
      3. import lombok.Data;
      4. import lombok.NoArgsConstructor;
      5. @Data
      6. @AllArgsConstructor
      7. @NoArgsConstructor
      8. public class Book {
      9.     private Integer bookID;
      10.     private String bookName;
      11.     private Integer bookCounts;
      12.     private String detail;
      13. }
      复制代码
      编写MyBatis的核心配置文件 mybatis-config.xml
      1. <?xml version="1.0" encoding="UTF-8" ?>
      2. <!DOCTYPE configuration
      3.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      4.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      5. <configuration>
      6.     <settings>
      7.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      8.     </settings>
      9.     <typeAliases>
      10.         <package name=""/>
      11.     </typeAliases>
      12.     <mappers>
      13.         <mapper resource=""/>
      14.     </mappers>
      15. </configuration>
      复制代码
      编写Mybatis的mapper映射文件 BookMapper.xml
      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <!DOCTYPE mapper
      3.         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
      4.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
      5. <mapper namespace="com.moondream.dao.BookMapper">
      6.    
      7.     <insert id="addBook">
      8.         insert into ssmbuild.books
      9.         values (#{bookID}, #{bookName}, #{bookCounts}, #{detail});
      10.     </insert>
      11.    
      12.     <delete id="deleteBookById">
      13.         delete
      14.         from ssmbuild.books
      15.         where bookID = #{bookID};
      16.     </delete>
      17.    
      18.     <update id="updateBook">
      19.         update ssmbuild.books
      20.         set bookName=#{bookName},
      21.             bookCounts=#{bookCounts},
      22.             detail=#{detail}
      23.         where bookID = #{bookID};
      24.     </update>
      25.    
      26.     <select id="queryAllBook" resultType="Book">
      27.         select *
      28.         from ssmbuild.books;
      29.     </select>
      30.    
      31.     <select id="queryBookById" resultType="Book">
      32.         select *
      33.         from ssmbuild.books
      34.         where bookID = #{bookID}
      35.     </select>
      36. </mapper>
      复制代码
      编写mapper映射文件对应的接口,可以更方便的调用Mybatis
      1. package com.moondream.dao;
      2. import com.moondream.pojo.Book;
      3. import java.util.List;
      4. public interface BookMapper {
      5.     //增加一个Book
      6.     int addBook(Book book);
      7.     //根据id删除一个Book
      8.     Integer deleteBookById(Integer id);
      9.     //更新Book
      10.     Integer updateBook(Book Book);
      11.     //根据id查询,返回一个Book
      12.     Book queryBookById(Integer id);
      13.     //查询全部Book,返回list集合
      14.     List<Book> queryAllBook();
      15. }
      复制代码
      编写 spring-dao.xml,把Mybatis整合进Spring
      1. <?xml version="1.0" encoding="UTF-8" ?>
      2. <!DOCTYPE configuration
      3.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      4.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      5. <configuration>
      6.     <settings>
      7.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      8.     </settings>
      9.     <typeAliases>
      10.         <package name=""/>
      11.     </typeAliases>
      12.     <mappers>
      13.         <mapper resource=""/>
      14.     </mappers>
      15. </configuration><?xml version="1.0" encoding="UTF-8" ?>
      16. <!DOCTYPE configuration
      17.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      18.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      19. <configuration>
      20.     <settings>
      21.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      22.     </settings>
      23.     <typeAliases>
      24.         <package name=""/>
      25.     </typeAliases>
      26.     <mappers>
      27.         <mapper resource=""/>
      28.     </mappers>
      29. </configuration><?xml version="1.0" encoding="UTF-8" ?>
      30. <!DOCTYPE configuration
      31.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      32.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      33. <configuration>
      34.     <settings>
      35.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      36.     </settings>
      37.     <typeAliases>
      38.         <package name=""/>
      39.     </typeAliases>
      40.     <mappers>
      41.         <mapper resource=""/>
      42.     </mappers>
      43. </configuration><?xml version="1.0" encoding="UTF-8" ?>
      44. <!DOCTYPE configuration
      45.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      46.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      47. <configuration>
      48.     <settings>
      49.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      50.     </settings>
      51.     <typeAliases>
      52.         <package name=""/>
      53.     </typeAliases>
      54.     <mappers>
      55.         <mapper resource=""/>
      56.     </mappers>
      57. </configuration><?xml version="1.0" encoding="UTF-8" ?>
      58. <!DOCTYPE configuration
      59.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      60.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      61. <configuration>
      62.     <settings>
      63.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      64.     </settings>
      65.     <typeAliases>
      66.         <package name=""/>
      67.     </typeAliases>
      68.     <mappers>
      69.         <mapper resource=""/>
      70.     </mappers>
      71. </configuration>        
      复制代码
      到此,持久层编写完毕!

      5、Spring层(Service层)

      编写业务接口和接口实现
      1. package com.moondream.service;
      2. import com.moondream.pojo.Book;
      3. import java.util.List;
      4. //BookService: 需要具体实现,调用dao层
      5. public interface BookService {
      6.     //增加一个Book
      7.     Integer addBook(Book book);
      8.     //根据id删除一个Book
      9.     Integer deleteBookById(Integer id);
      10.     //更新Book
      11.     Integer updateBook(Book Book);
      12.     //根据id查询,返回一个Book
      13.     Book queryBookById(Integer id);
      14.     //查询全部Book,返回list集合
      15.     List<Book> queryAllBook();
      16. }
      复制代码
      1. package com.moondream.service;
      2. import com.moondream.dao.BookMapper;
      3. import com.moondream.pojo.Book;
      4. import org.springframework.beans.factory.annotation.Autowired;
      5. import org.springframework.stereotype.Service;
      6. import java.util.List;
      7. @Service
      8. public class BookServiceImpl implements BookService {
      9.     //调用dao层
      10.     @Autowired
      11.     private BookMapper bookMapper;
      12.     public Integer addBook(Book book) {
      13.         return bookMapper.addBook(book);
      14.     }
      15.     public Integer deleteBookById(Integer id) {
      16.         return bookMapper.deleteBookById(id);
      17.     }
      18.     public Integer updateBook(Book Book) {
      19.         return bookMapper.updateBook(Book);
      20.     }
      21.     public Book queryBookById(Integer id) {
      22.         return bookMapper.queryBookById(id);
      23.     }
      24.     public List<Book> queryAllBook() {
      25.         return bookMapper.queryAllBook();
      26.     }
      27. }
      复制代码
      编写 spring-service.xml ,Spring的service层配置文件
      1. <?xml version="1.0" encoding="UTF-8" ?>
      2. <!DOCTYPE configuration
      3.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      4.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      5. <configuration>
      6.     <settings>
      7.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      8.     </settings>
      9.     <typeAliases>
      10.         <package name=""/>
      11.     </typeAliases>
      12.     <mappers>
      13.         <mapper resource=""/>
      14.     </mappers>
      15. </configuration><?xml version="1.0" encoding="UTF-8" ?>
      16. <!DOCTYPE configuration
      17.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      18.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      19. <configuration>
      20.     <settings>
      21.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      22.     </settings>
      23.     <typeAliases>
      24.         <package name=""/>
      25.     </typeAliases>
      26.     <mappers>
      27.         <mapper resource=""/>
      28.     </mappers>
      29. </configuration><?xml version="1.0" encoding="UTF-8" ?>
      30. <!DOCTYPE configuration
      31.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      32.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      33. <configuration>
      34.     <settings>
      35.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      36.     </settings>
      37.     <typeAliases>
      38.         <package name=""/>
      39.     </typeAliases>
      40.     <mappers>
      41.         <mapper resource=""/>
      42.     </mappers>
      43. </configuration>   
      复制代码
      服务层编写完毕!

      6、SpringMVC层(Controller层)

      由于 Controller层 需要不断的与 View层 举行联动,
      以是当我们编写完Controller层,实在View层也已经完成的差不多了。
      编写 web.xml
      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
      3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
      5.          version="4.0">
      6.     <servlet>
      7.         <servlet-name>DispatcherServlet</servlet-name>
      8.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      9.         <init-param>
      10.             <param-name>contextConfigLocation</param-name>
      11.             
      12.             <param-value>classpath:applicationContext.xml</param-value>
      13.         </init-param>
      14.         <load-on-startup>1</load-on-startup>
      15.     </servlet>
      16.     <servlet-mapping>
      17.         <servlet-name>DispatcherServlet</servlet-name>
      18.         <url-pattern>/</url-pattern>
      19.     </servlet-mapping>
      20.    
      21.     <filter>
      22.         <filter-name>EncodingFilter</filter-name>
      23.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
      24.         <init-param>
      25.             <param-name>encoding</param-name>
      26.             <param-value>utf-8</param-value>
      27.         </init-param>
      28.     </filter>
      29.     <filter-mapping>
      30.         <filter-name>EncodingFilter</filter-name>
      31.         <url-pattern>/*</url-pattern>
      32.     </filter-mapping>
      33.    
      34.     <session-config>
      35.         <session-timeout>15</session-timeout>
      36.     </session-config>
      37. </web-app>
      复制代码
      编写 spring-controller.xml ,Spring的Controller层配置
      1. <?xml version="1.0" encoding="UTF-8" ?>
      2. <!DOCTYPE configuration
      3.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      4.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      5. <configuration>
      6.     <settings>
      7.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      8.     </settings>
      9.     <typeAliases>
      10.         <package name=""/>
      11.     </typeAliases>
      12.     <mappers>
      13.         <mapper resource=""/>
      14.     </mappers>
      15. </configuration>        
      复制代码
      配置文件,暂时结束!现在举行 Controller层 和 View层 编写
      BookController 类编写 , 方法一:查询全部书籍
      1. package com.moondream.controller;
      2. @Controller
      3. @RequestMapping("/book")
      4. public class BookController {
      5.     @Autowired
      6.     private BookService bookService;
      7.     @RequestMapping("/allBook")
      8.     public String list(Model model) {
      9.         List<Book> list = bookService.queryAllBook();
      10.         model.addAttribute("list", list);
      11.         return "allBook";
      12.     }
      13. }
      复制代码
      编写首页 index.jsp
      1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
      2. <!DOCTYPE HTML>
      3. <html>
      4. <head>
      5.     <title>首页</title>
      6.    
      7. </head>
      8. <body>
      9. <h3>
      10.     <a target="_blank" href="https://www.cnblogs.com/${pageContext.request.contextPath}/book/allBook">点击进入列表页</a>
      11. </h3>
      12. </body>
      13. </html>
      复制代码
      书籍列表页面 allbook.jsp
      1.     书籍列表<?xml version="1.0" encoding="UTF-8" ?>
      2. <!DOCTYPE configuration
      3.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      4.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      5. <configuration>
      6.     <settings>
      7.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      8.     </settings>
      9.     <typeAliases>
      10.         <package name=""/>
      11.     </typeAliases>
      12.     <mappers>
      13.         <mapper resource=""/>
      14.     </mappers>
      15. </configuration>    [size=6]                    书籍列表 —— 显示所有书籍                [/size]
      16. <?xml version="1.0" encoding="UTF-8" ?>
      17. <!DOCTYPE configuration
      18.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      19.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      20. <configuration>
      21.     <settings>
      22.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      23.     </settings>
      24.     <typeAliases>
      25.         <package name=""/>
      26.     </typeAliases>
      27.     <mappers>
      28.         <mapper resource=""/>
      29.     </mappers>
      30. </configuration>[url=https://www.cnblogs.com/${pageContext.request.contextPath}/book/toAddBook]新增[/url]                                    [table]                                [tr]                    书籍编号                    书籍名字                    书籍数目                    书籍详情                    操作                [/tr]<?xml version="1.0" encoding="UTF-8" ?>
      31. <!DOCTYPE configuration
      32.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      33.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      34. <configuration>
      35.     <settings>
      36.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      37.     </settings>
      38.     <typeAliases>
      39.         <package name=""/>
      40.     </typeAliases>
      41.     <mappers>
      42.         <mapper resource=""/>
      43.     </mappers>
      44. </configuration>                    [tr]                        [td]${book.getBookID()}[/td]                        [td]${book.getBookName()}[/td]                        [td]${book.getBookCounts()}[/td]                        [td]${book.getDetail()}[/td]                        [td]                            [url=https://www.cnblogs.com/${pageContext.request.contextPath}/book/toUpdateBook?id=${book.getBookID()}]更改[/url] |                            [url=https://www.cnblogs.com/${pageContext.request.contextPath}/book/del/${book.getBookID()}]删除[/url]                        [/td]                    [/tr]                                            [/table]            
      复制代码
      BookController 类编写 , 方法二:添加书籍
      1. @RequestMapping("/toAddBook")
      2. public String toAddPaper() {
      3.     return "addBook";
      4. }
      5. @RequestMapping("/addBook")
      6. public String addPaper(Book book) {
      7.     System.out.println(book);
      8.     bookService.addBook(book);
      9.     return "redirect:/book/allBook";
      10. }
      复制代码
      添加书籍 页面:addBook.jsp
      1.     新增书籍<?xml version="1.0" encoding="UTF-8" ?>
      2. <!DOCTYPE configuration
      3.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      4.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      5. <configuration>
      6.     <settings>
      7.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      8.     </settings>
      9.     <typeAliases>
      10.         <package name=""/>
      11.     </typeAliases>
      12.     <mappers>
      13.         <mapper resource=""/>
      14.     </mappers>
      15. </configuration>    [size=6]                    新增书籍                [/size]
      16.                                     书籍名称:
      17.         书籍数目:
      18.         书籍详情:
      19.             
      复制代码
      BookController 类编写 , 方法三:修改书籍
      1. @RequestMapping("/toUpdateBook")
      2. public String toUpdateBook(Model model, Integer id) {
      3.     Book book = bookService.queryBookById(id);
      4.     System.out.println(book);
      5.     model.addAttribute("book", book);
      6.     return "updateBook";
      7. }
      8. @RequestMapping("/updateBook")
      9. public String updateBook(Book book) {
      10.     System.out.println(book);
      11.     bookService.updateBook(book);
      12.     return "redirect:/book/allBook";
      13. }
      复制代码
      修改书籍 页面 updateBook.jsp
      1.     修改信息<?xml version="1.0" encoding="UTF-8" ?>
      2. <!DOCTYPE configuration
      3.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      4.         "https://mybatis.org/dtd/mybatis-3-config.dtd">
      5. <configuration>
      6.     <settings>
      7.         <setting name="logImpl" value="STDOUT_LOGGING"/>
      8.     </settings>
      9.     <typeAliases>
      10.         <package name=""/>
      11.     </typeAliases>
      12.     <mappers>
      13.         <mapper resource=""/>
      14.     </mappers>
      15. </configuration>    [size=6]                    修改信息                [/size]
      16.                                             书籍名称:        书籍数目:        书籍详情:            
      复制代码
      BookController 类编写 , 方法四:删除书籍
      1. @RequestMapping("/del/{bookId}")
      2. public String deleteBook(@PathVariable Integer bookId) {
      3.     bookService.deleteBookById(bookId);
      4.     return "redirect:/book/allBook";
      5. }
      复制代码
      Controller层 与 View层 编写完毕!
      末了,做一些收尾和辅助性的工作,比如,横切日志提示,表明当前程序实验到哪一步了……
      在com.moondream包下,新增log包,编写切面
      [code]package com.moondream.log;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;import org.springframework.stereotype.Component;import java.text.SimpleDateFormat;import java.util.Date;@Aspect@Componentpublic class IndicationLog {    @Around("within(com.moondream.*.*+)")    public Object Indication(ProceedingJoinPoint pjp) throws Throwable {        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String date = sdf.format(new Date());        System.err.println("[" + date + "] " + pjp.getSignature().toShortString() + " ==>");        Object value = pjp.proceed();        System.err.println("
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表