04 2017 档案
摘要:Spring Boot由jar包转成war包 spring boot 默认是以jar包形式启动web程序,在新建spring boot项目时候可以选择war包的启动方式。 建议在开发的时候建立以jar包启动的web项目,启动效率更快,此时如果想发布成war包形式部署,做如下操作: 1.修改pom.x
阅读全文
摘要:spring的bean注入扫面方法:@ComponentScan(basePackages = "com.pingan.property.icore.pap.*")mybatis的dao bean注入扫描方法:@MapperScan(basePackages = "com.pingan.proper
阅读全文
摘要:1.datasource接口是javax.sql包下的接口,不是spring,是javax.sql下的 datasource接口有个重要的方法getConnection()方法 那些spring支持的数据库连接池,都是实现了Datasource接口 比如下面是阿里的DruidDatasource数据
阅读全文
摘要:1.DataSource的接口这是一个spring接口,可以获取数据库的Connection。是标准化的,取得连接的一种方式。 默认市面上有两个数据库连接池实现了spring的datasource接口, 分别是apache的dbcp数据库连接池和c3p0连接池。 2.spring对java jdk的
阅读全文
摘要:配置一个数据源 spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。 配置一个数据源 spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0
阅读全文
摘要:1.spring启动mybatis的两个重要类:SqlSessionFactoryBean和MapperFactoryBean,这两个类都是org.mybatis.spring jar包的。 是用来启动mybatis的关键,spring为什么能识别这两个类?因为这两个类实现了spring的接口。 这
阅读全文
摘要:相信很多程序猿朋友对log4j都很熟悉,log4j可以说是陪伴了绝大多数的朋友开启的编程。我不知道log4j之前是用什么,至少在我的生涯中,是log4j带我开启的日志时代。 log4j是Apache的一个开源项目,我们不去考究它的起源时间,但是据我了解,log4j 1已经不再更新了。 回顾log4j
阅读全文
摘要:git tag — 标签相关操作 发表于 2011年06月29日 由 机器猫 标签可以针对某一时间点的版本做标记,常用于版本发布。 列出标签 $ Git tag # 在控制台打印出当前仓库的所有标签$ git tag -l ‘v0.1.*’ # 搜索符合模式的标签 打标签 git标签分为两种类型:轻
阅读全文
摘要:1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包。这个包包含有一系列能够让 Java 的并发编程变得更加简单轻松的类。在这个包被添加以前,你需要自己去动手实现自己的相关工具类。本文
阅读全文
摘要:对于每个请求,host都会生成一个线程,这个线程负责生成顾客需要的“蛋糕”。在等待一段时间以后,如果蛋糕还没有做好,顾客还必须等待。直到“蛋糕被做好”,也就是future.setRealData(realdata); 执行以后,顾客才能拿走蛋糕。 每个线程只是专门负责制作特定顾客所需要的“蛋糕”。也
阅读全文
摘要:#!/bin/shNAME=$1echo $NAMEID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`echo $IDecho " "for id in $IDdokill -9 $idecho
阅读全文
摘要:1. 我使用过的Linux命令之du - 查看文件的磁盘空间占用情况 用途说明 du命令是用来查看磁盘空间占用情况的,在Linux系统维护时常会用到,并且通常与df命令搭配使用。首先使用df看一下各个磁盘分区的占用情况,如果某个分区的占用超过一定百分比(比如80%),就认为该分区应该清理一下了。如果
阅读全文
摘要:1.spring boot的几种配置类型 1)基本配置,spring自动读取的,全都在application.yml里配置,spring会自动读取这个配置文件 2)个性化配置:比如配置interceptor,要继承webmvcconfugurer,并将类做类级别的注解@configure 3)bea
阅读全文
摘要:oracle中的Schema简析 在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样,一个大数据库就可以根据应用把其表分开来管理。 在一个数据库中可以有多个应用的数据表,这些不同应用的
阅读全文
摘要:Oracle中虽然有create schema语句,但是它并不是用来创建一个schema的,具体见下面官方文档。 Use the CREATE SCHEMA statement to create multiple tables and views and perform multiple gran
阅读全文
摘要:1.普通SID方式jdbc:oracle:thin:username/password@x.x.x.1:1521:SID2.普通ServerName方式 jdbc:Oracle:thin:username/password@//x.x.x.1:1522/ABCD3.RAC方式jdbc:oracle:
阅读全文
摘要:具体做法: 不同环境的配置设置一个配置文件,例如:dev环境下的配置配置在application-dev.properties中;prod环境下的配置配置在application-prod.properties中。 在application.properties中指定使用哪一个文件1、applica
阅读全文
摘要:1、 spring简介 spring的最基本的功能就是创建对象及管理这些对象之间的依赖关系,实现低耦合、高内聚。还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,还能帮我们管理最头疼的数据库事务,本身提供了一套简单的JDBC访问实现,提供与 第三方数据访问框架集成(如hiberna
阅读全文
摘要:一、一切从手动启动IoC容器开始 [java] view plain copy ClassPathResource resource = new ClassPathResource("bean.xml"); DefaultListableBeanFactory factory = new Defau
阅读全文
摘要:1.controller处理的终究就是一个结果,默认是modelandview对象,controller里自己随便调用service或者dao,终究都还是在controller里有返回值。 2. 在spring MVC中,当Controller将请求处理结果放入到ModelAndView中以后,Di
阅读全文
摘要:@responsebody注解的作用就是让viewresolver不起作用,不返回视图名称而是直接返回的return object 2.也可以再方法上添加@ResponseBody注解, 用于这个类里面其他方法依然返回viewresolver,但只有这个方法返回json,不走viewresolver
阅读全文
摘要:@Controller和@RestController的区别?官方文档:@RestController is a stereotype annotation that combines @ResponseBody and @Controller.意思是:@RestController注解相当于@Re
阅读全文
摘要:项目包名和分层都是按照代码来分的,不是按照业务。包名是:组织名称+代码分层
阅读全文
摘要:基于java-based方式的spring mvc配置,需要创建一个配置类并实现WebMvcConfigurer 接口,WebMvcConfigurerAdapter 抽象类是对WebMvcConfigurer接口的简单抽象(增加了一些默认实现),所以上面配置代码选择直接继承WebMvcConfig
阅读全文
摘要:Spring中基于Java的配置@Configuration和@Bean用法 Spring中为了减少xml中配置,可以生命一个配置类(例如SpringConfig)来对bean进行配置。 一、首先,需要xml中进行少量的配置来启动Java配置: [java] view plain copy prin
阅读全文
摘要:分发构件至远程仓库 mvn install 会将项目生成的构件安装到本地Maven仓库,mvn deploy 用来将项目生成的构件分发到远程Maven仓库。本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。 我们需要配置POM的dis
阅读全文
摘要:1. SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间。 2.HandlerInterceptor接口-》Spring
阅读全文
摘要:1.@requestmapping注解,属于org.springframework.web.bind.annotation包下。org.springframework.web jar包。 2.@RestController注解,也属于org.springframework.web.bind.anno
阅读全文
摘要:1.首先创建好包,每个包对应不同的业务 2.必须包好的包,common包:common下面有util包和exception包。 3.util包下面常见有4种: 1.JsonUtils类(json转换工具类) 2.CodecUtils类(编解码工具类) 3.ExceptionUtils类(产生异常工具
阅读全文
摘要:1.包名:不能有大写,包命名全部小写,包名就是src-main-java下的包名,包名要与公司组织名一致 2.类注释:5行,两个*打头,@author。且每个类上面要有两个**的注释,非1个星的注释。5行 3.成员变量隔行:隔行,隔行,声明类的成员变量要隔行,隔两行。常量的声明更是如此。 常量声明
阅读全文
摘要:spring boot和maven的约定大于配置体现在哪些方面? 两者都遵从了约定大于配置的路线 约定优于配置体现点: 1.maven的目录文件结构 1)默认有resources文件夹,存放资源配置文件。src-main-resources,src-main-java 默认的编译生成的类都在targ
阅读全文
摘要:spring boot最重要的三个文件:1.启动类 2.pom.xml 3.application.yml配置文件 一.启动类->main方法 spring boot启动原理步骤分析 1.spring boot通过fat jar方式用jdk命令java -jar jarname.jar启动的。 fa
阅读全文
摘要:<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/P
阅读全文
摘要:无论做什么项目,进行异常处理都是非常有必要的,而且你不能把一些只有程序员才能看懂的错误代码抛给用户去看,所以这时候进行统一的异常处理,展现一个比较友好的错误页面就显得很有必要了。 springMVC提供的异常处理主要有两种方式,一种是直接实现自己的HandlerExceptionResolver,当
阅读全文
摘要:约定优于配置的这种做法在如今越来越流行了,它的特点是简单、快速、便捷。但是这是建立在程序员熟悉这些约定的前提上。而 Spring 拥有一个庞大的生态体系,刚开始转到 Spring Boot 完全舍弃 XML 时肯定是不习惯的,所以也会造成一些困扰。 运行方式 spring-boot-starter-
阅读全文
摘要:一个HTTP连接是包含两部分的,请求报文和响应报文这俩组合起来才是一次完整的HTTP请求,并不会单独显示请求报文或者响应报文。 2.注意看,一次HTTP请求,是包括这两部分的
阅读全文
摘要:request.getQueryString()是什么意思 request.getQueryString()就是获取查询字符串 比如客户端发送 http://localhost/test.do?a=b&c=d&e=f 通过request.getQueryString()得到的是 a=b&c=d&e=
阅读全文
摘要:maven解析依赖信息时,会去本地仓库找依赖的jar包。 我们自己开发的maven工程,使用install命令即可安装到本地库 一个大项目里多个maven子项目间的调用,就应该是dependency方式,最终打包也是打出一个包来。如果需要通过http交流,那应该属于两个项目,最终打包发布也是分开的了
阅读全文
摘要:在多模块开发的时候,利用项目继承可以将结构信息、部署信息,将共同的依赖放在一个父类中。
阅读全文
摘要:在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性 Maven 项目生成jar运行时提示“没有主清单属性” 新建了一个Maven的项目,mvn compile和mvn package后生成了jar文件,然后直接到target目录下去执行Java -jar xxx.jar命令运行j
阅读全文
摘要:Maven中的parent定义的dependency,其中继承者是可以直接使用parent中的Maven Dependencies的。 packagin要选择jar,parent project要选择要继承的maven project。packaging中有三种选项,一种是pom,一种是jar,一种
阅读全文
摘要:Maven 使用惯例优于配置的原则 。它要求在没有定制之前,所有的项目都有如下的结构: 一个 maven 项目在默认情况下会产生 JAR 文件,另外 ,编译后 的 classes 会放在 basedir/target/classes 下面, JAR 文件会放在 ${basedir}/target 下
阅读全文
摘要:test文件夹,测试类是放在src目录下的,test测试代码是代码啊,当然要放在代码文件夹下 Maven的标准工程结构 Maven的标准工程结构如下: |-- pom.xml(maven的核心配置文件) |-- src |-- main | `-- java(java源代码目录) | `-- res
阅读全文
摘要:maven-dependency-plugin http://maven.apache.org/plugins/maven-dependency-plugin/ maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表
阅读全文
摘要:文档和构建结果 maven的site命令支持各种文档信息的发布,包括构建过程的各种输出,javadoc,产品文档等。 项目关系 一个大型的项目通常有几个小项目或者模块组成,用maven可以很方便地管理 2.使用maven构建项目,有两种方式: 1)使用Eclipse里的maven 插件构建方式,Ec
阅读全文
摘要:Maven规定的目录结构 若要使用Maven,那么项目的目录结构必须符合Maven的规范 ,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项
阅读全文
摘要:最近一直在思考如何能够更好的重用代码。减少重复劳动,之前有一篇文章通过导入JAR包的形式,可以重用部分形如util类的方法,但是这样的话,管理起来jar包,特别是协同工作,多项目情况下,管理JAR会出现某些版本不统一的情况, 刚好最近在看Maven相关的资料,突然发现使用Maven是一个很好地方法。
阅读全文
摘要:SpringMVC 过滤器Filter使用解析 1.如上所示的spring-web.jar包结构所示, Spring的web包中中提供有很多过滤器,这些过滤器位于org.springframework.web.filter并且理所当然地实现了javax.servlet.Filter, 2. 不过实现
阅读全文
摘要:Nginx +Tomcat 实现动静态分离 动静态分离就是Nginx处理客户端的请求的静态页面(html页面)或者图片,Tomcat处理客户端请求的动态页面(jsp页面),因为Nginx处理的静态页面的效率高于Tomcat。 一.Nginx简介: Nginx一个高性能的HTTP和反向代理服务器, 具
阅读全文
摘要:node.js是用javascript来写服务器代码的平台
阅读全文
摘要:1. 插件初始化 MyBATIS是在初始化上下文环境的时候就初始化插件的,我们看到源码: 它最后是把所有的插件按你配置的顺序保存在一个list对象里面。 3、插件的取出: MyBATIS的插件可以拦截Executor,StatementHandler,ParameterHandler和ResultH
阅读全文
摘要:一旦这样绑定后,那么在进入代理对象方法调用的时候就会到HelloServiceProxy的invoke方法上,invoke方法有三个参数:第一个proxy是代理对象,第二个是当前调用那个方法,第三个是方法的参数。 2、JDK动态代理 这个动态代理还是不好理解的,我们先用一张图来表达它: 好,它的意义
阅读全文
摘要:宽表从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。由于把不同的内容都放在同一张表存储,宽表已经不符合三范式的模型设计规范,随之带来的主要坏处就是数据的大量冗余,与之相对应的好处就是查询性能的提高与便捷。这种宽表的设计广泛应用于数据挖掘模型训练
阅读全文
摘要:在介绍MyBATIS插件原理前我们需要先学习一下一些基础的知识,否则我们是很难理解MyBATIS的运行原理和插件原理的。 MyBATIS最主要的是反射和动态代理技术,让我们首先先熟悉它们。 1:Java反射技术 在Java中反射技术已经大行其道,通过不断的优化性能得到了巨大的提高,而反射技术使得Ja
阅读全文
摘要:淘宝根据自己的业务特点开发了TDDL(Taobao Distributed Data Layer 外号:头都大了 ?_Ob)框架,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置
阅读全文
摘要:1.mycat一共三个配置文件。 1)server.xml:配置逻辑库的名称访问的账号密码 配置说明: 配置中name是应用连接中间件逻辑库的用户名。 mycat中password是应用连接中间件逻辑库的密码。 schemas中可以配置一个或多个。 readOnly是应用连接中间件逻辑库所具有的权限
阅读全文
摘要:一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar。以前采用fatjar进行打包,但是fatjar有不少问题, 1. 最近一次更新是在09年,无法支持新版本的eclipse。
阅读全文
摘要:内置属性(Maven预定义可以直接使用) ${basedir} 项目根目录 ${version}表示项目版本;${project.basedir}同${basedir};${project.version}表示项目版本,与${version}相同;${project.build.directory}
阅读全文
摘要:OM 文件中添加了“org.springframework.boot:spring-boot-maven-plugin”插件。在添加了该插件之后,当运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“Java -jar”命令就可以直接运行。这在很大程度上简化了应
阅读全文