SpringMVC 集成 mybatisPlus

文章目录

    • 一、基础配置
      • 1. pom
      • 2. web.xml
    • 二、配置文件
      • 2.1.spring-context.xml
      • 2.2. spring-datasource.xml
      • 2.3. spring-mvc.xml
      • 2.4. jdbc.properties
      • 2.5. logback.xml
    • 三、基础类
      • 3.1. 实体类
      • 3.2. 接口类
      • 3.3. 接口映射xml
      • 3.4. service接口
      • 3.5. 接口实现类
      • 3.6. 控制层
    • 四、数据库方面
      • 4.1. 创建数据库
      • 4.2. 初始化表结构
    • 五、浏览器验证
      • 5.1. 启动项目
      • 5.2. 浏览器测试
      • 5.3. 源码地址

一、基础配置

1. pom

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.gblfy</groupId><artifactId>ssm-upgrade</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version><name>ssm-upgrade</name><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><maven.compiler.encoding>UTF-8</maven.compiler.encoding><lombok.version>1.18.8</lombok.version><spring.version>4.3.10.RELEASE</spring.version><javax.servlet.version>4.0.1</javax.servlet.version><jstl.version>1.2</jstl.version><org.mybatis.version>3.4.1</org.mybatis.version><org.mybatis.spring.version>1.3.0</org.mybatis.spring.version></properties><dependencies><dependency><groupId>aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.5.4</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>${javax.servlet.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><!--spring start--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-oxm</artifactId><version>${spring.version}</version></dependency><!--spring end--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.2</version></dependency><!--spring myabtisPlus 整合 Start--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>3.3.1.tmp</version></dependency><!--spring myabtisPlus 整合 End--><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>1.6.11</version></dependency><dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.4</version><!--<scope>runtime</scope>--></dependency><!--@Slf4j 日志打印 和lombok注解 Start--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope><version>${lombok.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.26</version></dependency><!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic --><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version><exclusions><exclusion><artifactId>slf4j-api</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions></dependency><!--@Slf4j 日志打印 和lombok注解 End--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.19</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>20.0</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.5</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><!--<scope>test</scope>--></dependency><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.3</version></dependency><!-- ftpclient --><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.1</version></dependency><!-- file upload --><!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.2.2</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.0.1</version></dependency></dependencies><build><finalName>ssm-upgrade</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding><compilerArguments><extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs></compilerArguments></configuration></plugin><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><path>/</path><port>8080</port><uriEncoding>UTF-8</uriEncoding><contextReloadable>true</contextReloadable></configuration></plugin></plugins></build><repositories><!-- 代码库 --><repository><id>maven-ali</id><url>http://maven.aliyun.com/nexus/content/groups/public//</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy><checksumPolicy>fail</checksumPolicy></snapshots></repository></repositories></project>

2. web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><display-name>Archetype Created Web Application</display-name><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><listener><listener-class>org.springframework.web.context.request.RequestContextListener</listener-class></listener><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/config/spring-*.xml</param-value></context-param><servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置 SpringMVC需要加载的配置文件 spring-mvc.xml --><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/config/spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

二、配置文件

企业中的配置文件一般会放在WEB-INF下面,因为外部请求不到

2.1.spring-context.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:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"><context:component-scan base-package="com.gblfy" annotation-config="true"/><!--<context:annotation-config/>--><aop:aspectj-autoproxy/><import resource="spring-datasource.xml"/></beans>

2.2. spring-datasource.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:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><context:component-scan base-package="com.gblfy" annotation-config="true"/><!--引入数据库配置文件--><context:property-placeholder location="/WEB-INF/config/jdbc.properties"/><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${db.driverClassName}"/><property name="url" value="${db.url}"/><property name="username" value="${db.username}"/><property name="password" value="${db.password}"/><!-- 连接池启动时的初始值 --><property name="initialSize" value="${db.initialSize}"/><!-- 连接池的最大值 --><property name="maxActive" value="${db.maxActive}"/><!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 --><property name="maxIdle" value="${db.maxIdle}"/><!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 --><property name="minIdle" value="${db.minIdle}"/><!-- 最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制 --><property name="maxWait" value="${db.maxWait}"/><!--#给出一条简单的sql语句进行验证 --><!--<property name="validationQuery" value="select getdate()" />--><property name="defaultAutoCommit" value="${db.defaultAutoCommit}"/><!-- 回收被遗弃的(一般是忘了释放的)数据库连接到连接池中 --><!--<property name="removeAbandoned" value="true" />--><!-- 数据库连接过多长时间不用将被视为被遗弃而收回连接池中 --><!--<property name="removeAbandonedTimeout" value="120" />--><!-- #连接的超时时间,默认为半小时。 --><property name="minEvictableIdleTimeMillis" value="${db.minEvictableIdleTimeMillis}"/><!--# 失效检查线程运行时间间隔,要小于MySQL默认--><property name="timeBetweenEvictionRunsMillis" value="40000"/><!--# 检查连接是否有效--><property name="testWhileIdle" value="true"/><!--# 检查连接有效性的SQL语句--><property name="validationQuery" value="SELECT 1 FROM dual"/></bean><!--更新为 myabtisplus--><bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath*:mapper/*Mapper.xml"></property></bean><bean name="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.gblfy.dao"/></bean><!-- 使用@Transactional进行声明式事务管理需要声明下面这行 --><tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/><!-- 事务管理 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/><property name="rollbackOnCommitFailure" value="true"/></bean></beans>

2.3. spring-mvc.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:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc" 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.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><context:component-scan base-package="com.gblfy" annotation-config="true"/><mvc:annotation-driven></mvc:annotation-driven><!-- 引用静态资源文件映射路径 --><mvc:resources location="/WEB-INF/images/" mapping="/images/**"/><!-- 定义跳转的文件的前后缀 ,视图模式配置 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/></bean><!-- 注解扫描 --><mvc:annotation-driven></mvc:annotation-driven><!-- 文件上传 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="10485760"/> <!-- 10m --><property name="maxInMemorySize" value="4096"/><property name="defaultEncoding" value="UTF-8"></property></bean></beans>

2.4. jdbc.properties

#数据库连接
#适用于mysql 6.x及以上
db.driverClassName=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/ssm?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT
db.username=root
db.password=rootdb.initialSize = 20
db.maxActive = 50
db.maxIdle = 20
db.minIdle = 10
db.maxWait = 10
db.defaultAutoCommit = true
db.minEvictableIdleTimeMillis = 3600000

2.5. logback.xml

此文件放在resources下面

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false"><!-- 定义参数常量 --><!-- TRACE<DEBUG<INFO<WARN<ERROR --><!-- logger.trace("msg") logger.debug... --><property name="log.level" value="debug"/><property name="log.maxHistory" value="30"/><property name="log.filePath" value="${catalina.base}/logs/webapps"/><property name="log.pattern"value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"/><!-- 控制台输出设置 --><appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${log.pattern}</pattern></encoder></appender><!-- DEBUG级别文件记录 --><appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 文件路径 --><file>${log.filePath}/debug.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 文件名称 --><fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz</fileNamePattern><!-- 文件最大保存历史数量 --><maxHistory>${log.maxHistory}</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>DEBUG</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><!-- INFO --><appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 文件路径 --><file>${log.filePath}/info.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 文件名称 --><fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz</fileNamePattern><!-- 文件最大保存历史数量 --><maxHistory>${log.maxHistory}</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>INFO</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><logger name="com.gblfy.order" level="${log.level}" additivity="true"><appender-ref ref="debugAppender"/><appender-ref ref="infoAppender"/></logger><root level="info"><appender-ref ref="consoleAppender"/></root>
</configuration>

三、基础类

3.1. 实体类

package com.gblfy.entity;import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("user")
public class User extends Model<User> {private Long id;private String name;private Integer age;private String email;}

3.2. 接口类

package com.gblfy.dao;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gblfy.entity.User;public interface UserMapper extends BaseMapper<User> {
}

3.3. 接口映射xml

此文件放在resources下面的mapper目录下面
这个配置自定义

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gblfy.dao.UserMapper"><resultMap type="com.gblfy.entity.User" id="UserMap"><result property="id" column="id" jdbcType="INTEGER"/><result property="name" column="name" jdbcType="VARCHAR"/><result property="age" column="age" jdbcType="INTEGER"/><result property="email" column="email" jdbcType="VARCHAR"/></resultMap>
</mapper>

3.4. service接口

package com.gblfy.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.gblfy.entity.User;public interface UserService extends IService<User> {
}

3.5. 接口实现类

package com.gblfy.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gblfy.dao.UserMapper;
import com.gblfy.entity.User;
import com.gblfy.service.UserService;
import org.springframework.stereotype.Service;@Service("userService")
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {
}

3.6. 控制层

package com.gblfy.controller;import com.gblfy.entity.User;
import com.gblfy.service.UserService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;
import java.util.List;@RestController
@RequestMapping("user")
public class UserController {/*** 服务对象*/@Resourceprivate UserService userService;/*** 通过主键查询单条数据** @param id 主键* @return 单条数据*/@GetMapping("selectUserById")public User selectUserById(Long id) {return this.userService.getById(id);}/*** 查询用户列表** @return  List<User>*/@GetMapping("queryList")public List<User> queryList() {return this.userService.list();}}

四、数据库方面

4.1. 创建数据库

创建ssm数据库 编码格式为utf-8

4.2. 初始化表结构

/*Navicat Premium Data TransferSource Server         : 127.0.0.1Source Server Type    : MySQLSource Server Version : 50721Source Host           : 127.0.0.1:3306Source Schema         : ssmTarget Server Type    : MySQLTarget Server Version : 50721File Encoding         : 65001Date: 14/03/2020 20:23:26
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (`id` bigint(20) NOT NULL COMMENT '主键ID',`name` varchar(30) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '姓名',`age` int(11) NULL DEFAULT NULL COMMENT '年龄',`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '邮箱',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'Jone', 18, 'test1@baomidou.com');
INSERT INTO `user` VALUES (2, 'Jack', 20, 'test2@baomidou.com');
INSERT INTO `user` VALUES (3, 'Tom', 28, 'test3@baomidou.com');
INSERT INTO `user` VALUES (4, '郭轩', 26, 'test4@baomidou.com');
INSERT INTO `user` VALUES (5, '郭振', 26, 'test5@baomidou.com');
INSERT INTO `user` VALUES (1238735228017610754, '郭雨昕', 2, 'gblfy@qq.com');
INSERT INTO `user` VALUES (1238735794525503489, '郭雨泽', 22, 'gblfy@qq.com');SET FOREIGN_KEY_CHECKS = 1;

五、浏览器验证

5.1. 启动项目

在这里插入图片描述

5.2. 浏览器测试

http://localhost:8080/user/queryList
在这里插入图片描述

5.3. 源码地址

https://gitee.com/gb_90/ssm-upgrade

项目布局:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android重新编译res,使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中lt;meta-datagt;变量的值...

你也能够查看我的其它同类文章。也会让你有一定的收货关于使用Gradle来控制版本号和生成不同版本号的代码。我总结了三篇文章&#xff0c;网上关于这些知识&#xff0c;都比較零散。我在学习这些的之前。根本不知道还有这种方法。所以说不知道并不可怕&#xff0c;可怕的是不知…

四大开源项目联合发布 腾讯已成Github全球贡献前十公司!

近日在Techo开发者大会上&#xff0c;腾讯正式对四大重点开源项目进行了联合发布&#xff0c;包括分布式消息中间件TubeMQ、基于最主流的 OpenJDK8开发的Tencent Kona JDK、分布式HTAP数据库 TBase&#xff0c;以及企业级容器平台TKEStack。 截至目前&#xff0c;腾讯已经在Gi…

5W1H系列 | Nacos 帮我们解决什么问题?(配置管理篇)

Nacos 是阿里巴巴今年7月份开源的项目&#xff0c;如其名&#xff0c; Naming Configuration Service &#xff0c;专注于服务发现和配置管理领域。本系列文章&#xff0c;将从 5W1H&#xff08;What、Where、When、Who、Why、How&#xff09;全面剖析 Nacos&#xff0c;给大家…

tensorflow玻尔兹曼机_资源 | 10种深度学习算法的TensorFlow实现

原标题&#xff1a;资源 | 10种深度学习算法的TensorFlow实现选自 Github作者&#xff1a;blackecho机器之心编译参与&#xff1a;吴攀这个 repository 是使用 TensorFlow 库实现的多种深度学习算法的实现。这个软件包的目标是作为一种命令行实用程序——你可以将其用来快速训练…

实践 | Sentinel 扩展性设计

Sentinel 提供多样的 SPI 接口用于提供扩展的能力。用户可以在用同一个 sentinel-core 的基础上自行扩展接口实现&#xff0c;从而可以方便地给 Sentinel 添加自定义的逻辑。 初始化逻辑扩展机制 为了统一初始化的流程&#xff0c;我们抽象出了 InitFunc 接口代表 Sentinel 的…

android 各版本市占率,Android各版本市占率:果冻豆遥遥领先

近日&#xff0c;谷歌公布了最新Android系统各版本的市场占有率。虽说已发布两年之久且推出三个版本的果冻豆系统出现了小幅下滑&#xff0c;但60.8%的市占率依然遥遥领先其它各版本。Android各版本市占率&#xff1a;果冻豆遥遥领先(图片来源于cnbeta)从 谷歌统计数据显示&…

腾讯首度披露基础架构演进史:“海量之道”进化“生而为云”

近日腾讯Techo开发者大会在北京召开。会上腾讯云副总裁、云架构平台部总经理谢明首次对外披露了腾讯基础设施演进与创新历程。他介绍在微信、QQ等国民级业务不断发展的背后&#xff0c;包括服务器、网络、IDC、计算、存储、数据库等在内的基础设施和技术架构一直在不断进化&…

阿里云专家穆轩的《杭州九年程序员之“修炼”手册》

对于一个从未到过南方的内蒙汉子来说&#xff0c;北京的大学一直是中学时憧憬的殿堂&#xff0c;而离家上千公里浙江大学&#xff0c;则是从来没有考虑过的地方。机缘巧合之下&#xff0c;被一位年近七旬的浙大老师说服&#xff0c;我自此开始了南下“修炼”之旅。没想到转眼间…

圆周移位是怎么移的_圆周移位.ppt

圆周移位* x(n) n 0 1 2 3 4 5 6 -1 -2 -3 -4 2 1 3 2 1 3 2 1 3 … … x(n) n 0 1 2 3 4 5 6 -1 -2 -3 -4 2 1 3 2 1 3 2 1 3 … … n x(-n) 0 1 2 3 4 5 6 -1 -2 -3 -4 … … 2 1 3 2 1 3 2 1 3 x(-n) n 0 1 2 3 4 5 6 -1 -2 -3 -4 … … 2 1 3 2 1 3 2 1 3 例&#xff1a;求…

SpringMVC 集成 mybatisPlus 分析

文章目录1. pom 依赖替换2. 扫描包3. pom 依赖替换4. dao层接口继承 extends BaseMapper5. 源码地址1. pom 依赖替换 mybatis依赖 <properties><org.mybatis.version>3.4.1</org.mybatis.version><org.mybatis.spring.version>1.3.0</org.mybatis.…

主流开源开发者工具落地阿里云,进一步提升开发者体验

在云计算大数据时代&#xff0c;企业的不断上云&#xff0c;业务的不断发展&#xff0c;技术架构的不断演进&#xff0c;导致资源、应用和数据的管理成本不断增加&#xff0c;运维难度不断加大。业务场景的不断和复杂和变化&#xff0c;不得不引起我们更多的思考&#xff1a; …

android地图方位角_Android获取经纬度、计算距离、方位角

最近在Android上做GPS的东西&#xff0c;获取经纬度、计算距离、方位角&#xff0c;感觉在搞GIS样。当然&#xff0c;玩笑了&#xff0c;玩玩而已&#xff0c;稍微总结一下。经度指示南北方向&#xff0c;纵向。纬度指示东西方向&#xff0c;横向.获取经纬度使用GPS权限&#x…

SpringBoot 集成 mybatisPlus

文章目录一、1. pom2. application.yml3. dao层接口集成baseMapper4. 启动类上扫描5. 创建数据库6. 初始化表结构7. 浏览器验证8. 源码地址一、 1. pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/P…

让开发变得更简单 | 阿里云中间件推出全新开发者服务

要码出未来&#xff0c;除了程序员专属的节日福利&#xff0c;还需要实打实的为程序员解决手头的难题。 10月24日&#xff0c;阿里云中间件推出全新开发者服务&#xff0c;发布3款开发工具&#xff0c;包括Alibaba Cloud Toolkit 、链路追踪Tracing Analysis和应用高可用服务AH…

android 4.4 屏幕方向,Android4.4屏幕旋转功能

由于Android4.4系统上去掉了ro.sf.hwrotation属性的支持&#xff0c;因为不能使用之前的方法进行屏幕旋转了。暂时没有找到相应的属性和后门&#xff0c;于是自己写了一个屏幕旋转的临时代码&#xff0c;后面找到更好的方法后再替换。具体代码如下&#xff1a;~/framework/nati…

免费!这里有一份开发者进阶“宝典”求带走

戳蓝字“CSDN云计算”关注我们哦&#xff01;作为开发者&#xff0c;无论是前端还是后端&#xff0c;做机器学习还是云计算、架构&#xff0c;保持对技术的敏感性都是非常重要的事。新技术一般发源于人力、财力等各方面资源都很雄厚的大厂&#xff0c;经过时间的沉淀逐渐成为技…

阿里云发布多款云管工具,任何角色都可以轻松完成云上运维

无论是在传统的开发过程&#xff0c;还是在云上&#xff0c;运维都是一个十分重要而又繁重的工作。随着企业规模的扩大&#xff0c;系统架构的复杂度在增加&#xff0c;部署规模也在不断扩大&#xff0c;控制台不再能满足其需求&#xff0c;需要一个便捷、实用的运维系统或者运…

介词for和with 和of的用法_常用介词用法(for to with of)

给……”、“对…… (而言)”。如:Let me pick it up for you.让我为你捡起来。Watching TV too much is bad for your health.看电视太多有害于你的健康。4.表示时间、距离,意为“计、达”。如:I usually do the running for an hour in the morning.我早晨通常跑步一小时。We…

xml报文需求实战

文章目录1. 工具类2. 测试类3. 工具发送报文为了大家快速理解报文解析是做什么的&#xff1f;简单的给大家按照企业的解析思路&#xff0c;给大家做了一个需求实战的真实流程&#xff0c;解析的报文每个厂商都不一样&#xff0c;因此&#xff0c;我自己造了一个xml报文&#xf…