java
JohnZhaowen
java开发,爬虫架构等
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用指定类加载器动态加载指定的类,并执行其中的指定方法
为了适应高可配的需求,例如,动态指定业务逻辑,有时候会将相关的逻辑做成动态载入JVM并进行执行。 一. 使用根加载器加载: 1. 查询Bootstrap class loader的加载路径: System.out.println(System.getProperty("sun.boot.class.path")); 2. 设置IDEA,在根加载器加载...原创 2019-12-08 19:12:25 · 2739 阅读 · 0 评论 -
数据源配置
配置的内容有:DataSource,SqlSessionFactory,DataSourceTransactionManager和SqlSessionTemplate。多数据源的情况下,需要指定Primary。@Configuration//basePackages:mapper接口类所在的包路径@MapperScan(basePackages = "com.yh.dwdat...原创 2019-03-18 09:34:39 · 443 阅读 · 0 评论 -
SpringBoot全局异常处理
@RestControllerAdvicepublic class ExceptionController { private final Logger logger = LoggerUtil.getLogger(ExceptionController.class); // 捕捉shiro的异常 @ResponseStatus(HttpStatus.UNAUTHORIZ...原创 2019-03-18 09:53:11 · 338 阅读 · 0 评论 -
使用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 · 4978 阅读 · 0 评论 -
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 · 166 阅读 · 0 评论 -
1.从入门到精通springcloud - 无注册中心时代
本节主要实现在没有使用springcloud的情况下如果调用http服务。我们首先理清一下几个概念:(1)生产者:即服务的提供者,它的服务可以被其他程序调用,自己内部也可以调用;(2)消费者:即服务的调用者,它的某些服务依赖于生产者的某个或者某几个服务才能完成。一个服务可以既是生产者,同时又是消费者。1.生产者:(1)pom.xml<project xmlns...原创 2019-04-09 14:29:53 · 594 阅读 · 0 评论 -
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 · 4845 阅读 · 0 评论 -
SpringBoot自动化配置详解
Java是面试对象的编程方式,认为万物皆是对象。抛开静态代码块和内部类,我们可以认为对象其实就是由属性(包括类属性和实例属性)和方法(类方法和实例方法)组成,通过这两者来完成对象的职责(也就是对外暴露的功能)。 类的属性可以认为是一些状态,方法通过操作这些状态来达到不同的处理结果。外部调用这些类时,需要先配置好这个类的状态,以求得到符合要求的结果,这也就是说,不同的调用方在调用这...原创 2019-04-18 14:08:19 · 2654 阅读 · 0 评论 -
数组实现循环队列
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 · 407 阅读 · 0 评论 -
在有序数组中寻找插入某数的位置
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 · 841 阅读 · 0 评论 -
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 · 186 阅读 · 0 评论 -
WebMvcConfigurer配置ViewController
在项目中,即使是静态资源,也应当防止直接访问,而应当通过一个Controller方法来接收访问,然后返回对应的资源。例如,再访问index页面时,通常的做法如下: @Controllerpublic class IndexController { @RequestMapping(value={"/", "/index"}) public String...原创 2019-06-11 11:07:53 · 2311 阅读 · 0 评论 -
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 · 292 阅读 · 0 评论 -
Spring实战系列-第三章 高级装配
环境与Profilespring.profiles.defaultspring.profiles.active设置上述两参数的方法作为DispatcherServlet的初始化参数作为Web应用的上下文参数作为JNDI条目作为环境变量作为JVM的系统属性在继承测试类上,使用@ActiveProfiles注解设置在properties文件中设置条件化配置@C...原创 2019-03-17 20:43:47 · 205 阅读 · 0 评论 -
Spring实战系列-第二章 装配Bean
声明Bean 构造器注入和Setter方法注入 装配Bean 控制bean的创建和销毁 任何一个应用都是由多个为了完成某一业务目标而相互协作的组件构成,且构件之间必须彼此了解,并且相互协作来完成工作。 创建应用对象之间协作关系的行为称装配(wiring),这也是依赖注入(DI)的本质。配置Spring容器:XML中显式配置 在java中进行显式配置:JavaC...原创 2019-03-16 21:34:21 · 200 阅读 · 0 评论 -
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 · 300 阅读 · 0 评论 -
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 · 182 阅读 · 0 评论 -
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 · 569 阅读 · 0 评论 -
SpringBoot打包
一. 打jar包:程序新建时采用jar形式 1. pom文件中引入maven打包插件: mainmClass中指定程序的入口,只要写明启动类全称 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>...原创 2018-08-26 22:29:57 · 1188 阅读 · 0 评论 -
SpringBoot环境参数读取
在项目的实际开发中,有dev环境,sit环境,uat环境,prod环境等,以满足开发及测试要求,达到高可靠性的目的。通常,在不同的开发环境下,会有不同的配置,例如数据库。 1. 配置不同环境下的properties配置文件:例如: application-dev.properties中配置userAddr = dev-sh application...原创 2018-08-26 22:40:57 · 2317 阅读 · 0 评论 -
使用BeanPostProcessor实现处理类选择
在开发中经常遇到同一类似的处理,这一族类似的处理会根据不同的场景选择不同的处理类。例如,在报表生成中,需要生成交易明细日报,清算明细日报,挂账日报,积分月报等,这一族报表的处理都是类似的,也就是从数据库中获取数据,并按照报表格式导出即可。 实现方式: 1. 建一个处理接口,该接口包含一个获取code的方法,该code是处理类的标识,具有唯一性;一个处理方法,该方法处理报...原创 2018-08-28 22:16:10 · 1239 阅读 · 0 评论 -
自定义properties文件读取
1.创建实体类,使用注解自动配置属性:@Component@ConfigurationProperties(prefix = "hive.fz") @PropertySource(value = "hive-config.properties")(1)交由spring容器管理(2)注明Properties文件中的配置项前缀(3)指明配置文件路径(这样spring就不需要...原创 2018-12-12 09:56:29 · 625 阅读 · 0 评论 -
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 · 1518 阅读 · 0 评论 -
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 · 4335 阅读 · 1 评论 -
Configuration注解
该注解需要@ComponentScan扫描才能进行bean注册,否则对应的@Bean不会注册到IOC容器。 @Configuration的源代码如下:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface Configurati...原创 2019-03-16 21:08:06 · 965 阅读 · 0 评论 -
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 · 17909 阅读 · 0 评论
分享