- 博客(34)
- 资源 (2)
- 收藏
- 关注
原创 01. Kafka安装
1. 安装jdk8; 2. kafka安装包下载:https://www.apache.org/dyn/closer.cgi?path=/kafka/2.1.0/kafka_2.12-2.1.0.tgz 3. 解压,并配置环境变量: 1) vim /etc/profile2) export KAFKA_HOMNE=/root/work/kafka_2.12...
2019-12-22 20:05:16 264
原创 使用指定类加载器动态加载指定的类,并执行其中的指定方法
为了适应高可配的需求,例如,动态指定业务逻辑,有时候会将相关的逻辑做成动态载入JVM并进行执行。 一. 使用根加载器加载: 1. 查询Bootstrap class loader的加载路径: System.out.println(System.getProperty("sun.boot.class.path")); 2. 设置IDEA,在根加载器加载...
2019-12-08 19:12:25 2595
原创 1.MongoDB安装
将按照以下步骤讲解mongodb。(1)安装,配置与启动;(2)mongodb shell操作;(3)mongodb java编程操作;(4)springboot集成mongodb;(5)框架优化。 本篇讲解mongodb的安装,配置与启动。1. 环境Linux:Centos7MongoDB:mongodb-linux-x86_64-rhel70-4.0.2...
2019-06-21 00:00:53 223
原创 WebMvcConfigurer配置ViewController
在项目中,即使是静态资源,也应当防止直接访问,而应当通过一个Controller方法来接收访问,然后返回对应的资源。例如,再访问index页面时,通常的做法如下: @Controllerpublic class IndexController { @RequestMapping(value={"/", "/index"}) public String...
2019-06-11 11:07:53 2240
原创 在有序数组中寻找插入某数的位置
public class MyTestMain { public static void main(String[] args) { int[] arr = {1,2,4}; int insert = 5; System.out.println(findInsertPlace(arr, insert)); } pub...
2019-05-15 16:22:10 760
原创 SpringBoot集成Swagger实现API管理
1. 引入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE<...
2019-05-13 10:43:04 142
原创 数组实现循环队列
package com.queue;public class LoopQueue { private int size; //队列有效长度 private int rear; //队尾,可以插入下一数据的位置 private int head; //对头,可以获取数据的第一个位置 private int[] arr; public LoopQueue() { ...
2019-04-29 12:44:39 348
原创 run as java application和run as Spring boot app
启动Springboot程序时,可以采用run as(或debug as) java application或者run as (或debug as) Spring boot app,这两种方式有什么区别呢? 在入口函数的SpringApplication.run(XXX.class, args);打上断点,分别启动,发现使用run as java application时,mai...
2019-04-26 09:38:33 4731
原创 SpringBoot自动化配置详解
Java是面试对象的编程方式,认为万物皆是对象。抛开静态代码块和内部类,我们可以认为对象其实就是由属性(包括类属性和实例属性)和方法(类方法和实例方法)组成,通过这两者来完成对象的职责(也就是对外暴露的功能)。 类的属性可以认为是一些状态,方法通过操作这些状态来达到不同的处理结果。外部调用这些类时,需要先配置好这个类的状态,以求得到符合要求的结果,这也就是说,不同的调用方在调用这...
2019-04-18 14:08:19 2538
原创 1.从入门到精通springcloud - 无注册中心时代
本节主要实现在没有使用springcloud的情况下如果调用http服务。我们首先理清一下几个概念:(1)生产者:即服务的提供者,它的服务可以被其他程序调用,自己内部也可以调用;(2)消费者:即服务的调用者,它的某些服务依赖于生产者的某个或者某几个服务才能完成。一个服务可以既是生产者,同时又是消费者。1.生产者:(1)pom.xml<project xmlns...
2019-04-09 14:29:53 520
原创 Springboot集成Log4j2
1. pom依赖:(1)web自带的log4j包不全,需要排除,并重新引入:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusio...
2019-03-18 11:12:27 130
原创 使用ThreadLocal保存当前线程的用户信息
1. 在JWTFilter(继承自BasicHttpAuthenticationFilter)的executeLogin方法中做判断,如果登陆成功,则将用户信息存入UserUtil.set(user);2. UserUtil类:public class UserUtil { private UserUtil(){ } private static final ThreadLo...
2019-03-18 10:02:06 4870
原创 SpringBoot全局异常处理
@RestControllerAdvicepublic class ExceptionController { private final Logger logger = LoggerUtil.getLogger(ExceptionController.class); // 捕捉shiro的异常 @ResponseStatus(HttpStatus.UNAUTHORIZ...
2019-03-18 09:53:11 276
原创 数据源配置
配置的内容有:DataSource,SqlSessionFactory,DataSourceTransactionManager和SqlSessionTemplate。多数据源的情况下,需要指定Primary。@Configuration//basePackages:mapper接口类所在的包路径@MapperScan(basePackages = "com.yh.dwdat...
2019-03-18 09:34:39 369
原创 Spring实战系列-第三章 高级装配
环境与Profilespring.profiles.defaultspring.profiles.active设置上述两参数的方法作为DispatcherServlet的初始化参数作为Web应用的上下文参数作为JNDI条目作为环境变量作为JVM的系统属性在继承测试类上,使用@ActiveProfiles注解设置在properties文件中设置条件化配置@C...
2019-03-17 20:43:47 130
原创 Spring实战系列-第二章 装配Bean
声明Bean 构造器注入和Setter方法注入 装配Bean 控制bean的创建和销毁 任何一个应用都是由多个为了完成某一业务目标而相互协作的组件构成,且构件之间必须彼此了解,并且相互协作来完成工作。 创建应用对象之间协作关系的行为称装配(wiring),这也是依赖注入(DI)的本质。配置Spring容器:XML中显式配置 在java中进行显式配置:JavaC...
2019-03-16 21:34:21 138
原创 Configuration注解
该注解需要@ComponentScan扫描才能进行bean注册,否则对应的@Bean不会注册到IOC容器。 @Configuration的源代码如下:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface Configurati...
2019-03-16 21:08:06 886
原创 springBoot2.0的actuator配置
springboot2.0版本默认不会将所有断点暴露,需要以下配置:#actuator端口management.server.port=8310 #修改访问路径,2.0之前默认是/,2.0默认是/actuatormanagement.endpoints.web.base-path=/actuator #开放所有页面节点 ,默认只开启了health、info两个节点managem...
2019-03-08 17:36:12 1424
原创 Mybatis中的批量修改,批量删除,批量新增,和新增后返回主键
1.批量修改,批量删除,批量新增 1)批量更新 <update id="dwdatalink_delete_task_instances_byids" parameterType="java.util.Map"> UPDATE data_link_task_run SET is_deleted = '1', sys_update = C...
2019-03-07 15:46:04 4187 1
原创 React Table组建配置
<Table bordered pagination={{position : 'both', pageSize: 5}} onChange={this.handleStandardTableChange} //排序,筛选,换页 columns={this.columns} dataSource={this.state.jobs} ...
2019-03-01 11:32:26 364
原创 React的Table组件在更新dataSource时,未重新渲染页面
1. 由于dataSource是list对象,如果采用如下方法,则只是操作引用: handleDataSource = () => { let temp = this.state.dataSource; temp.push({ id: 'a', key: 'a', jobName: 'a', jobGrou...
2019-03-01 11:16:05 20241 13
原创 前端窗口自适应大小
componentDidMount() { window.addEventListener("resize",function(){ if(window.parent.setIfHeight){ window.parent.setIfHeight($("#children").height()); } }); $("#roo...
2019-03-01 11:02:07 1334
原创 自定义properties文件读取
1.创建实体类,使用注解自动配置属性:@Component@ConfigurationProperties(prefix = "hive.fz") @PropertySource(value = "hive-config.properties")(1)交由spring容器管理(2)注明Properties文件中的配置项前缀(3)指明配置文件路径(这样spring就不需要...
2018-12-12 09:56:29 577
原创 Linux系统间的免密登陆
根据网上的教程: 1.ssh-keygen 2.ssh-copy-id root@192.168.xx.xx 但是一直无法实现免密登陆。 通过步骤1,会在/root/.ssh下生成authorized_keys, id_rsa, id_rsa.pub和 known_hosts四个文件,其中: id_rsa为步骤一生成的私钥,只存在于本机...
2018-10-25 22:52:14 159
原创 使用BeanPostProcessor实现处理类选择
在开发中经常遇到同一类似的处理,这一族类似的处理会根据不同的场景选择不同的处理类。例如,在报表生成中,需要生成交易明细日报,清算明细日报,挂账日报,积分月报等,这一族报表的处理都是类似的,也就是从数据库中获取数据,并按照报表格式导出即可。 实现方式: 1. 建一个处理接口,该接口包含一个获取code的方法,该code是处理类的标识,具有唯一性;一个处理方法,该方法处理报...
2018-08-28 22:16:10 1168
原创 SpringBoot环境参数读取
在项目的实际开发中,有dev环境,sit环境,uat环境,prod环境等,以满足开发及测试要求,达到高可靠性的目的。通常,在不同的开发环境下,会有不同的配置,例如数据库。 1. 配置不同环境下的properties配置文件:例如: application-dev.properties中配置userAddr = dev-sh application...
2018-08-26 22:40:57 2233
原创 SpringBoot打包
一. 打jar包:程序新建时采用jar形式 1. pom文件中引入maven打包插件: mainmClass中指定程序的入口,只要写明启动类全称 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>...
2018-08-26 22:29:57 1089
原创 Springboot之异步调用(Async)
异步调用通常是指异步调用service。 1.启动类开启异步调用:@EnableAsync 2.controller层代码(无特殊处理): @RequestMapping("/asyn") public String asyn() { System.out.println("controller 1"); userService.asyn(); System.o...
2018-08-26 19:07:58 479
原创 Springboot之定时任务
1.定时任务package com.stu.scheduled;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;@Componentpublic class ScheduledTask { privat...
2018-08-26 18:33:55 141
原创 SpringBoot之AOP
非常简单,分两步:1.引入AOP的jar包:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>2.创建AOP...
2018-08-26 18:22:06 227
原创 SpringBoot读取自定义properties配置文件 + 多数据源配置
本文结合SpringBoot + MyBatis + MySql进行多数据源配置,DataSource信息采用自定义dataSource.properties进行配置。1.文件结构如下: 2.1 pom依赖:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3...
2018-08-26 09:38:51 17729
原创 springboot2.0集成activiti6.0
activiti6.0直接使用starter集成到springboot2.0时,会报异常,无法直接进行集成。所以我才用spring-activiti来集成activiti6.0.整体文件结构如下:1.pom文件依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o...
2018-08-06 20:39:20 3766
原创 ApplicationEventPublisherAware事件发布详解
为了达到解耦的目的,一个类应当只做一件事,例如,用户进行注册时,需要创建注册相关的类,来完成注册事务。但是,如果注册成功时,还需要发送验证邮件,以及手机校验码,很多人为了方便,直接在注册类中将发送邮件和发送短信的代码一并写入。这样做会导致后面维护的困难,耦合性高。 我们可以通过事件发布来达到解耦的目的,事件的原理如下。 事件的发布者发布事件,事件的监听这对对应的事件...
2018-07-16 23:10:43 21575 4
原创 Tomcat在windows系统中不要安装在带有空格的文件夹下
今天我写了以下代码:private void doScanner(String scanPackage) { URL url = this.getClass().getClassLoader().getResource("/" + scanPackage.replaceAll("\\.", "/")); File classDir = new File(...
2018-07-14 22:58:34 618
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人