聚星Note02 - 后台管理环境搭建2

  • 1 整合Spring
    • 1.1 父工程依赖管理
    • 1.2 gatherStars-admin-component 模块依赖管理
  • 2 gatherStars-admin-webui 模块整合Mybatis
    • 2.1 配置 jdbc.properties 文件
    • 2.2 配置 mybatis-config.xml 文件
    • 2.3 配置 spring-persist-mybatis.xml 文件
    • 2.4 测试数据源连接
    • 2.5 测试 SqlSessionFactoryBean
  • 3 搭建日志系统
    • 3.1 gatherStars-admin-component 的 pom.xml 添加依赖
    • 3.2 gatherStars-admin-webui 的 pom.xml 修改spring-test 依赖
    • 3.3 配置 logback.xml 文件
  • 4 配置声明式事务
    • 4.1 配置 spring-persist-tx.xml 文件
    • 4.2 gatherStars-admin-component 添加接口和具体实现类
    • 4.3 gatherStars-admin-webui 添加测试类

1 整合Spring

1.1 父工程依赖管理

父工程 gatherStars-admin-parent 的 pom.xml 文件中的 标签下添加
版本声明和依赖管理

<properties><!-- 声明属性,对 Spring 的版本进行统一管理 --><turling.spring.version>4.3.20.RELEASE</turling.spring.version><!-- 声明属性,对 SpringSecurity 的版本进行统一管理 --><turling.spring.security.version>4.2.10.RELEASE</turling.spring.security.version>
</properties><dependencyManagement><dependencies><!-- Spring 依赖 --><!-- https://mvnrepository.com/artifact/org.springframework/spring-orm --><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${turling.spring.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${turling.spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${turling.spring.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.2</version></dependency><!-- https://mvnrepository.com/artifact/cglib/cglib --><dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>2.2</version></dependency><!-- 数据库依赖 --><!-- MySQL 驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.3</version></dependency><!-- 数据源 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.31</version></dependency><!-- MyBatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.8</version></dependency><!-- MyBatis 与 Spring 整合 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.2</version></dependency><!-- MyBatis 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>4.0.0</version></dependency><!-- 日志 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.7</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency><!-- 其他日志框架的中间转换包 --><dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId><version>1.7.25</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>jul-to-slf4j</artifactId><version>1.7.25</version></dependency><!-- Spring 进行 JSON 数据转换依赖 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.8</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.8</version></dependency><!-- JSTL 标签库 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- junit 测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- 引入 Servlet 容器中相关依赖 --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><!-- JSP 页面使用的依赖 --><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1.3-b06</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version></dependency><!-- SpringSecurity 对 Web 应用进行权限管理 --><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-web</artifactId><version>4.2.10.RELEASE</version></dependency><!-- SpringSecurity 配置 --><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-config</artifactId><version>4.2.10.RELEASE</version></dependency><!-- SpringSecurity 标签库 --><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-taglibs</artifactId><version>4.2.10.RELEASE</version></dependency></dependencies>
</dependencyManagement>

1.2 gatherStars-admin-component 模块依赖管理

  1. 该模块依赖的版本和 gatherStars-admin-parent 一致,故可删去版本号;
  2. 删除重复的 mybatis 依赖

gatherStars-admin-component 的 pom.xml 添加相应依赖

<!-- Spring 依赖 -->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-orm -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId>
</dependency><!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/cglib/cglib -->
<dependency><groupId>cglib</groupId><artifactId>cglib</artifactId>
</dependency><!-- 数据库依赖 -->
<!-- MySQL 驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 数据源 -->
<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId>
</dependency><!-- MyBatis -->
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId>
</dependency>
<!-- MyBatis 与 Spring 整合 -->
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId>
</dependency>
<!-- MyBatis 分页插件 -->
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId>
</dependency><!-- Spring 进行 JSON 数据转换依赖 -->
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId>
</dependency><!-- JSTL 标签库 -->
<dependency><groupId>jstl</groupId><artifactId>jstl</artifactId>
</dependency><!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId>
</dependency>

2 gatherStars-admin-webui 模块整合Mybatis

2.1 配置 jdbc.properties 文件

src/main/resourses 目录下创建 jdbc.properties 文件

jdbc.user=root
jdbc.password=root
jdbc.url=jdbc:mysql://localhost:3306/gather_stars?useUnicode=true&characterEncoding=UTF-8
jdbc.driver=com.mysql.jdbc.Driver

2.2 配置 mybatis-config.xml 文件

src/main/resourses/mybatis 目录下创建 mybatis-config.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>
</configuration>

2.3 配置 spring-persist-mybatis.xml 文件

src/main/resourses 目录下创建 spring-persist-mybatis.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 加载 jdbc.properties --><context:property-placeholder location="classpath:jdbc.properties"/><!-- 配置数据源 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><!-- 连接数据库的用户名 --><property name="username" value="${jdbc.user}"/><!-- 连接数据库的密码 --><property name="password" value="${jdbc.password}"/><!-- 目标数据库的 URL 地址 --><property name="url" value="${jdbc.url}"/><!-- 数据库驱动全类名 --><property name="driverClassName" value="${jdbc.driver}"/></bean><!-- 配置 SqlSessionFactoryBean --><bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 装配数据源 --><property name="dataSource" ref="dataSource"/><!-- 指定 MyBatis 全局配置文件位置 --><property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/><!-- 指定 Mapper 配置文件位置 --><property name="mapperLocations" value="classpath:mybatis/mapper/*Mapper.xml"/></bean><!-- 配置 MapperScannerConfigurer --><!-- 把 MyBatis 创建的 Mapper 接口类型的代理对象扫描到 IOC 容器中 --><bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 使用 basePackage 属性指定 Mapper 接口所在包 --><property name="basePackage" value="com.turling.gatherStars.mapper"/></bean>
</beans>

2.4 测试数据源连接

  1. pom.xml 文件添加 junit 依赖
<!-- junit 测试 -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><scope>test</scope>
</dependency>
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope>
</dependency>
  1. src/test/java 目录下创建 com.turling.gatherStars.test.TestConnection
import com.turling.gatherStars.entity.Admin;
import com.turling.gatherStars.mapper.AdminMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;// spring整合junit
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring-persist-mybatis.xml"})public class TestConnection {@Autowiredprivate DataSource dataSource;@Testpublic void testConnection() throws SQLException {Connection connection = dataSource.getConnection();System.out.println(connection);}
}

2.5 测试 SqlSessionFactoryBean

com.turling.gatherStars.test.TestConnection 文件添加

@Autowired
private AdminMapper adminMapper;@Test
public void testInsertAdmin() {Admin admin = new Admin(null, "turling", "root","管理员", "turling@126.com", null);adminMapper.insert(admin);
}

3 搭建日志系统

3.1 gatherStars-admin-component 的 pom.xml 添加依赖

<!-- 日志 -->
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId>
</dependency>
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId>
</dependency>
<!-- 其他日志框架的中间转换包 -->
<dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId>
</dependency>

3.2 gatherStars-admin-webui 的 pom.xml 修改spring-test 依赖

<dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><scope>test</scope><exclusions><!-- 去除 spring-test 依赖的 common-logging --><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions>
</dependency>

3.3 配置 logback.xml 文件

gatherStars-admin-webui 的 src/main/resources 目录下配置 logback.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true"><!-- 指定日志输出的位置 --><appender name="STDOUT"class="ch.qos.logback.core.ConsoleAppender"><encoder><!-- 日志输出的格式 --><!-- 时间、日志级别、线程名称、打印日志的类、日志主体内容、换行 --><pattern>[%d{HH:mm:ss.SSS}] [%-5level] [%thread] [%logger] [%msg]%n</pattern></encoder></appender><!-- 设置全局日志级别, 日志级别按顺序分别是: DEBUG、INFO、WARN、ERROR --><!-- 指定任何一个日志级别, 仅打印当前级别和后面级别的日志。 --><root level="DEBUG"><!-- 指定打印日志的appender,通过STDOUT引用前面配置的appender --><appender-ref ref="STDOUT" /></root><!-- 根据特殊需求指定局部日志级别 --><logger name="com.turling.mapper" level="DEBUG"/>
</configuration>

4 配置声明式事务

4.1 配置 spring-persist-tx.xml 文件

gatherStars-admin-webui 的 src/main/resourses 目录下创建 spring-persist-tx.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd"><!-- 配置自动扫描的包, 把Service扫描到IOC容器中 --><context:component-scan base-package="com.turling.gatherStars.service"/><!-- 配置事务管理器 --><bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 装配数据源 --><property name="dataSource" ref="dataSource"/></bean><!-- 配置事务切面 --><aop:config><!-- 避免把UserDetailsService加入事务控制,让切入点表达式定位到ServiceImpl --><aop:pointcut expression="execution(* *..*ServiceImpl.*(..))" id="txPointcut"/><!-- 将切入点表达式和事务通知关联起来 --><aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/></aop:config><!-- 配置事务通知 --><tx:advice id="txAdvice" transaction-manager="txManager"><!-- 配置事务属性 --><tx:attributes><!-- 查询方法:配置只读属性,让数据库知道该操作为查询(优化作用) --><tx:method name="get*" read-only="true"/><tx:method name="find*" read-only="true"/><tx:method name="query*" read-only="true"/><tx:method name="count*" read-only="true"/><tx:method name="save*" propagation="REQUIRES_NEW" rollback-for="java.lang.Exception"/><tx:method name="update*" propagation="REQUIRES_NEW" rollback-for="java.lang.Exception"/><tx:method name="remove*" propagation="REQUIRES_NEW" rollback-for="java.lang.Exception"/><tx:method name="batch*" propagation="REQUIRES_NEW" rollback-for="java.lang.Exception"/></tx:attributes></tx:advice>
</beans>

4.2 gatherStars-admin-component 添加接口和具体实现类

  1. src/main/java 目录下创建 com.turling.gatherStars.service.api.AdminService
public interface AdminService {void saveAdmin (Admin admin);List<Admin> getAll();
}
  1. src/main/java 目录下创建com.turling.gatherStars.service.impl.AdminServiceImpl
@Service
public class AdminServiceImpl implements AdminService {@Autowiredprivate AdminMapper adminMapper;public void saveAdmin(Admin admin) {adminMapper.insert(admin);}public List<Admin> getAll() {return adminMapper.selectByExample(new AdminExample());}
}

4.3 gatherStars-admin-webui 添加测试类

src/test/java 目录下创建 com.turling.gatherStars.test.TestAdminService

  • 测试结果可以参考数据库数据变化
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring-persist-mybatis.xml", "classpath:spring-persist-tx.xml"})
public class TestAdminService {@Autowiredprivate AdminService adminService;@Testpublic void testAdminServiceTx() {Admin admin = new Admin(null, "admin", "admin","admin", "admin@qq.com", null);adminService.saveAdmin(admin);}
}

聚星Note02- 后台管理环境搭建(2)相关推荐

  1. 聚星Note01 - 后台管理环境搭建(1)

    聚星Note01 - 后台管理环境搭建1 1 项目概述 1.1 版权声明 1.2 鸣谢 2 idea 创建工程 2.1 创建 maven 父工程 2.2 创建 maven 子模块 2.3 创建 mav ...

  2. 聚星Note03 - 后台管理环境搭建(3)

    聚星Note03 - 后台管理环境搭建3 1 gatherStars-admin-webui 整合SpringMVC 1.1 配置 web.xml 文件 1.2 配置 spring-web-mvc.x ...

  3. day01【后台】环境搭建

    day01[后台]环境搭建 1.项目架构 众筹网整体架构如下:主要分为前台会员系统和后台管理员系统.前台会员系统采用 SpringCloud 分布式架构搭建,后台管理员系统采用 SSM 框架搭建 2. ...

  4. 电商平台后台管理系统--环境搭建与管理员登录(一)

    将之前写好的ssm复制,重新命名为myecpbm,然后修改相关文件名和配置,文件目录结构和要修改的项目名如下图一 图一 1.选中改文件,Window==>show view==>Navig ...

  5. Java后台开发:环境搭建

    jdk+eclipse+svn+maven+mysql+tomcat7.0+sublime安装包和jar插件 配置管理工具-SVN http://download.csdn.net/detail/u0 ...

  6. Vue +Element UI后台管理模板搭建示例

    2019独角兽企业重金招聘Python工程师标准>>> 一.蓝色主题 Element ui 后台管理 Demo https://github.com/taylorchen709/vu ...

  7. node --进行后台的环境搭建

    1.下载winscp  --- 输入IP 端口 账号 密码  进入当前的服务器环境 2.下载xshell5 ---- 输入IP 端口  和 winscp 达成连接. 3.把本地代码放置 winscp远 ...

  8. 完美国际mysql后台_完美国际-后台管理配置-.tomcat配置教程

    摘 要 大家好,我是RK,这端时候我会更新完美国际的相关教程,本教程要非常感谢各完美国际交流群网友们提供帮助!在完美国际架设后服务端,都会有一个后台管理,完美国际服务端RK暂时知道的后 大家好,我是R ...

  9. vue后台管理、APP项目总结集合

    文章目录 后台管理界面 APP 项目整体总结 别慌,内容看起来多,其实都是一些小干货啦 后台管理界面 搭建一个vue项目: 配置相应的环境,如安装node,vue,webpack(最好安装一下淘宝镜像 ...

最新文章

  1. Zookeeper原生客户端
  2. Python中的输入输出
  3. java中的正则表达式捕获组与引用的概念
  4. python高级编程知识点_(转)python 高级编程技巧学习笔记
  5. Vlc支持IE 360 低版本的Google浏览器
  6. 深度理解 Virtual DOM
  7. mysql获取网站绝对路径_Symfony2获取web目录绝对路径、相对路径、网址的方法
  8. android开发蓝牙自动连接电脑上,Android蓝牙开发之自动连接设备
  9. 数字化转型 数字分析_数字化转型背后的公司领先于开放的领导者
  10. 物联网 云计算 大数据 分布式
  11. Linux下更换jdk和配置环境变量
  12. IT群侠传第一回内外兼修
  13. VC2013 配置属性
  14. 2021年软件质量事故盘点
  15. 掌握bandicam以及KMPlayer
  16. 大数据自助分析平台系列文章(深入讲解由零开始设计一个大数据自助分析平台)
  17. 苹果显示itunes store无法连接服务器,ipad无法连接itunes store的图文解决办法
  18. 【历史上的今天】1 月 21 日:微软创始人诞生;微信 11 周年;传奇黑客出生
  19. 一、Jmeter总结
  20. 智能AI短视频搬运剪辑小程序,可过原创检测

热门文章

  1. realmex7pro能用鸿蒙系统吗,一加8T和RealmeX7Pro哪个好?参数配置对比
  2. 【每日亿题】2021icpc江西省赛
  3. 新手小白如何做好亚马逊跨境电商?
  4. uni-App 新闻资讯
  5. 旧稿--前阿里CEO卫哲的万字长文--B2B春天来了
  6. 电脑只有飞行模式,没有WiFi(多种有效解决方式)
  7. 从小到大度过最冷的一个冬天!
  8. Matter (CHIP) 从入门到入土 (一)
  9. 我的前半生之人物关系图
  10. 简单的用 Microsoft.DirectX.DirectSound播放wave音频文件