irpas技术客

从maven搭建springboot_管饱_maven springboot

网络投稿 8139

文章目录 前言一、项目流程1新建maven工程2添加pom依赖3 添加pom插件4 新建application.yml文件5 生成数据库对应类5.1 新建需要的包路径5.2新建generatorConfig.xml5.3 执行数据库到实体的映射 6 添加redis序列化配置类7 新建service层8 新建redis层9 新建controller层10 新建启动类二、项目构架 三、数据库字段四、源码


前言

maven项目,手动添加需要的周边搭建一个基于mysql、redis的springboot脚手架。 之前有使用Spring Initializr搭建springboot,本文从新建maven空框架搭建springboot的方式,梳理springboot框架基本组件搭建流程。


一、项目流程 1新建maven工程

2添加pom依赖

打开maven仓库,查询、拷贝需要的pom依赖。 maven仓库:https://mvnrepository.com/ 依赖:

<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.5.4</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j2 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> <version>2.5.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>2.5.2</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.5.2</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> </dependencies>

依赖里面要注意,org.mybatis.spring.boot如果使用2.1.3版本,启动时会有jdbc版本异常错误,所以这里用的是2.1.4版本。

3 添加pom插件 <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configuration> <!-- 设置配置文件地址,默认地址为src/main/resources/generatorConfig.xml --> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <!-- mybatis-generator --> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency> <!-- mysql数据库连接 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> </dependencies> </plugin> </plugins> </build> 4 新建application.yml文件

在resources目录下面新建配置文件application.yml,并添加mysql、redis、mybatis配置

server: port: 9000 spring: datasource: url: jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver redis: database: 5 host: 192.168.101.201 # Redis服务器地址 port: 6379 # Redis服务器连接端口 password: # Redis服务器连接密码(默认为空) mybatis: #mybatyis的配置 mapper-locations: classpath:mappers/*.xml #指定mapper的配置文件的路径是mapper文件夹下的所有 xml文件。 5 生成数据库对应类 5.1 新建需要的包路径 com.yunjia.asr.dao.entry:实体存放包com.yunjia.asr.dao.mapper:mapper接口文件包resources.mappers:mapper.xml文件存放包 5.2新建generatorConfig.xml

在resources目录下面新建配置文件generatorConfig.xml,此文件是用于配置根据数据库表信息生成实体类。 这里需要注意5点:

jdbcConnection :数据库连接信息javaModelGenerator :生成model模型所对应的包路径,以及文件存放路径:com.yunjia.asr.dao.entryjavaClientGenerator :对应的Mapper接口类文件:com.yunjia.asr.dao.mappersqlMapGenerator :对应的mapper.xml文件:resources.mapperstable :数据表与Bean的映射,这里映射了数据库的account表 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!--targetRuntime="MyBatis3Simple":生成简单版的CRUD;MyBatis3:豪华版 --> <context id="MyBatisGenerator" targetRuntime="MyBatis3"> <!-- 生成的实体Bean,将实现Serializable --> <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin> <commentGenerator> <!-- 是否去除自动生成的注释 true:是 ; false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!-- jdbcConnection:连接数据库 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mytest?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true&amp;serverTimezone=Asia/Shanghai" userId="root" password="123456"> </jdbcConnection> <!-- 默认false,把JDBC DECIMAL和 NUMERIC 类型解析为 Integer true, 把JDBC DECIMAL和 NUMERIC类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 生成model模型所对应的包路径,以及文件存放路径(targetProject); targetProject可以指定具体的路径,如./src/main/java,也可以使用“MAVEN”来自动生成, 这样生成的代码会在target/generatord-source目录下 --> <javaModelGenerator targetPackage="com.yunjia.asr.dao.entry" targetProject="./src/main/java/"> <property name="enableSubPackages" value="true" /> <!--从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!--对应的mapper.xml文件 --> <sqlMapGenerator targetPackage="mappers" targetProject="./src/main/resources"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 对应的Mapper接口类文件--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.yunjia.asr.dao.mapper" targetProject="./src/main/java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 数据表与Bean的映射 --> <table tableName="account" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> </context> </generatorConfiguration> 5.3 执行数据库到实体的映射

打开maven,执行mybatis-generator:generate: 执行成功后,自动生成下面3个和数据库对应的文件 注意:自动生成的mapper文件里面需要添加@Mapper注解

6 添加redis序列化配置类

新建文件:com.yunjia.asr.config.ConfigCenter.java

@Configuration public class ConfigCenter { @Bean public RedisTemplate<String,String> redisTemplate(RedisConnectionFactory factory){ RedisTemplate<String,String> redisTemplate=new RedisTemplate<>(); RedisSerializer<String> redisSerializer = new StringRedisSerializer(); redisTemplate.setConnectionFactory(factory); //key序列化 redisTemplate.setKeySerializer(redisSerializer); //value序列化 redisTemplate.setValueSerializer(redisSerializer); //value hashmap序列化 redisTemplate.setHashKeySerializer(redisSerializer); //key hashmap序列化 redisTemplate.setHashValueSerializer(redisSerializer); return redisTemplate; } } 7 新建service层

新建service.AccountService文件

public interface AccountService { Account getInfoger(Integer id); }

新建service.impl.AccountServiceImpl文件

@Service public class AccountServiceImpl implements AccountService { @Autowired AccountMapper accountMapper; @Override public Account getInfoger(Integer id) { return accountMapper.selectByPrimaryKey(id); } } 8 新建redis层

新建utils.RedisUtil文件

@Component public class RedisUtil { @Autowired private RedisTemplate redisTemplate; public Object get(String key) { return key == null ? null:redisTemplate.opsForValue().get(key); } } 9 新建controller层

新建controller.AccountController文件

@RestController public class AccountController { @Autowired AccountService accountService; @Autowired RedisUtil redisUtil; /** * 通过id获取信息 * * @param id id * @return {@link Account} */ @GetMapping("/getInfoById/{id}") public Account getInfoById(@PathVariable(value = "id") Integer id) { return accountService.getInfoger(id); } /** * 得到复述,信息 * * @return {@link String} */ @GetMapping("/getRedisInfo") public String getRedisInfo(){ Object o = redisUtil.get("asr:screen:asr_login_user_incr"); return o.toString(); } } 10 新建启动类

新建asr.run文件

@SpringBootApplication public class run { public static void main(String[] args) { SpringApplication.run(run.class, args); } } 二、项目构架

三、数据库字段

四、源码

点击获取源码


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Maven #springboot #添加pom插件14 #生成数据库对应类151