Spring Boot + Mybatis + Log4j2开发环境搭建

2024-04-21 05:18

本文主要是介绍Spring Boot + Mybatis + Log4j2开发环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近些年来由于微服务架构越来越受欢迎,基于JVM平台的”微框架”也如雨后春笋般涌现:小清新的如Spark Framework, 重量级的如Spring Boot。Spring Boot相比其它微框架来说,有以下几点优势:

  • 自带实时监控、开发者工具
  • 与Spring无缝集成
  • 社区活跃

配置依赖

首选我们的web项目需要从spring-boot-starter-parent父项目中继承而来:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.3.3.RELEASE</version></parent>

由于我们要使用Log4j2代替Spring Boot默认的Logback, 因此需要在依赖中声明去掉starter-web中的starter-logging

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency>

然后添加log4j2:

<!-- logging --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></dependency>

最后,依次添加mysql-jdbc-driver, mybatis, tomcat-jdbc, starter-jdbc即可:

<!-- MySql JDBC Driver --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><!-- mybatis --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.0.0</version></dependency><!-- JDBC连接池 --><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-jdbc</artifactId><version>8.0.23</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency>

配置MySQL数据源

数据源配置也相当easy, 在resources目录下新建application.properties, 添加:

# database
spring.datasource.url=jdbc:mysql://localhost/database
spring.datasource.username=用户名
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

同时也可以指定Mybatis配置文件位置:

# mybatis
mybatis.config = classpath:mybatis/mybatis-config.xml

编写启动类

最后,一个集成SpringMVC, DAO(Mybatis), Service, Log4j2的项目骨架就搭建好了:

@RestController
@EnableAutoConfiguration
@ComponentScan(basePackages = "cn.fh.springboot")
public class Boot {private static Logger log = LoggerFactory.getLogger(Boot.class);@Autowiredprivate UserService userService;@RequestMapping(value = "/", method = RequestMethod.GET)public String home() {log.info("home method invoked!");userService.find(1);return "works";}public static void main(String[] args) {SpringApplication.run(Boot.class, args);}
}

Spring Boot项目的所有配置都可以写在application.properties文件中,也可以通过@Configuration类。不过配置信息个人更倾向于写在外部文件中。applicatoin.properties完整配置项可以查阅:Spring Boot Reference

PS: 如果你用的是Intellij Idea,那么在配置myBatis时可能会遇到找不到mapper.xml文件的问题。问题的原因是,如果你将mapper文件与类文件一起放到包中,即在src/main/java目录下,那么idea默认是不会将*.xml文件写到最终的Jar包中的。解决方案是向pom.xmlbuild结点中添加:

<resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources>

这篇关于Spring Boot + Mybatis + Log4j2开发环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922232

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD