自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 收藏
  • 关注

原创 centos(7)-用户和组

之前讲的rpm和yum命令,一直在使用root用户来操作,之后要讲的内容可能会要求使用非root,即普通用户来操作。root用户与普通用户我在安装的时候已经为root用户设置了密码,并且同时创建了一个普通用户。root即管理员,主要用于安装维护系统环境,一些系统命令如rpm和yum只有root才有权限操作,一些系统文件也只有root有权修改,以防止其他用户破坏系统。而与系统无关的一些业务工

2017-12-02 11:38:28 1272

原创 centos(6)-目录和文件

目录和文件的操作是centos必备的基础知识,本篇主要介绍其相关命令。查看文件和目录 lsls:查看当前目录下的文件。ls -l:以列表方式显示,每行显示一个文件的详细信息。ll:是ls -l命令的别名,显示结果是一样的。ll -a:相当于ls -la,同时包括-l和-a,-a的意思是显示隐藏文件。创建文件时前面加一个点,自动就是隐藏文件。更多用法查看ls --

2017-11-25 09:58:20 3213

原创 spring boot(22)-profile环境配置

当你在公司时,可能会用公司内网的数据库进行开发,而当你回家时,就只能用本机的数据库了。不停的修改环境配置会很麻烦,profile的作用就是同时配置多个环境,在不同的环境使用不同的配置。properties环境配置第五篇讲过在application.properties中进行参数配置,现在如果要配置不同环境的properties,可以使用application-{环境名}.propertie

2017-11-18 10:00:24 1371 2

原创 centos(5)-yum线上软件管理

上一篇的rpm命令需要知道rpm文件的下载地址才能安装,而yum命令会根据你要安装的程序名,自动到yum服务器上去下载并安装。查看已安装程序yum list installed|grep jdk:查看yum已安装的jdk程序,list是列表,installed是已安装的,|grep上篇讲过查找jdk关键字这正是上篇用rpm安装的jdk,可以从yum程序列表中找到,说明yum所管理的

2017-11-11 10:01:55 894

原创 centos(4)-rpm软件管理

在centos中,以rpm为后缀的文件是一种安装包文件。而rpm命令可以将rpm文件安装成程序,同时rpm命令也可以对程序进行管理。由于这里是centos最小镜像安装,默认并没有java环境,本篇通过安装和管理jdk来介绍rpm的用法。下载jdk.rpmjdk下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk

2017-11-04 13:53:06 999

原创 centos(3)-putty/winscp远程控制

通常服务器都是放在机房中的,可能离运维人员有一定距离,一些大型网站的服务器可能遍布全国各地,管理员只能在远程进行维护。sshlinux主要使用ssh协议来实现远程控制,及解决相关安全问题(本篇不讨论安全)。在linux中预设了ssh功能,而window中并没有,所以这里在window中安装putty和winscp两个软件来实现ssh。之后我主要使用这两个软件来介绍centosputty

2017-10-28 13:20:59 1269 1

原创 centos(2)-VMware Workstation Player安装centos7

下载VMware Workstation Player和centos以下是vmware_workstation_player官网下载地址,当前版本是12.5.7,下载其中的window版本https://my.vmware.com/cn/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0

2017-10-21 13:59:31 1731

原创 centos(1)-什么是centos及相关介绍

window和linuxlinux的设计初衷,就是为服务器而生的,所有的一切都是为了满足服务器的需要。linux也可以有窗口界面,但这只是某些linux版本为吸引个人用户而设计的,并且linux绝对不会因为窗口界面而影响其服务器的特点。window之所以叫window,就是因为它是窗口界面,便于个人用户使用,所有的设计都是为了满足个人用户,这才是它的核心价值。window也有服务器版本,但

2017-10-14 15:11:25 5407

原创 spring boot(21)-actuator监控

actuator是spring boot中非常重要的一大功能,主要用于在项目运行时,查看运行中的各种配置及参数等pom.xml org.springframework.boot spring-boot-starter-actuator 查看端点在pom.xml中添加了以上配置之后,启动时控制台会打印如下信息,mapped后面的路

2017-10-08 09:31:19 5909

原创 spring boot(20)-开发工具devtools

pom.xml org.springframework.boot spring-boot-devtools 修改代码自动重启只要引入了开头的依赖,自动重启就生效。如上图,在开发时修改代码,会重载java代码,而不会重载依赖jar,这可以大大减少开发重启的时间。然而有一些大型项目,代码量多,业务复杂,自动重启仍然要花很长时间。这时,如果你的项目

2017-09-24 09:16:41 3081

原创 spring boot(19)-拦截器

动态资源和静态资源拦截器可以算是aop的一种实现,专门拦截对动态资源的后台请求,也就是拦截对控制层的请求,主要用于判断用户是否有权限请求后台。拦截器不会拦截静态资源,如spring boot的默认静态目录resources/static,请求其目录下的html,js,图片等都不会被拦截。因为我们的业务机密数据都在后台,而前端的静态资源可以分离出来放在静态服务器以缓解后台服务器的压力,不过这不是

2017-09-23 12:40:41 2736 4

原创 spring boot(18)-servlet、filter、listener

servlet、filter、listener的用法就不讲了,只讲如何在spring boot中配置它们。有两种方式,一种是从servlet3开始提供的注解方式,另一种是spring的注入方式servlet注解方式servlet3.0以前,servlet、filter、listener需要在web.xml中配置,从servlet3.0开始,支持通过类注解进行配置。在spring boot中

2017-09-09 10:25:15 2487

原创 maven(19)-生命周期和内置插件

生命周期和依赖一样,是maven中最重要的核心概念。平时在使用maven时并不一定需要知道生命周期,但是只有明白了生命周期,才能真正理解很多重要的命令和插件配置。default生命周期default是maven的几个生命周期中最重要的一个,其完整周期远不止上面五个阶段,这五个只是其中最重要,并且有必要掌握的。这五个阶段其实就是五个maven命令,比如compile就是mvn

2017-09-02 10:23:03 1777

原创 spring boot(17)-@Async异步

验证码的异步机制上一篇讲过可以用邮件发验证码,通常我们在某网站发验证码时,首先会提示验证码已发送,请检查邮箱或者短信,这就是图中的1和3。然而此时查看邮箱或短信可能并没有收到验证码,往往要过几秒种才真正收到,这就是图中的2和4。2和4所消耗的时间比1和3要多,如果是同步,先执行4后执行3,那么这个请求将一直占用后台服务器。如果是异步,可以在第一时间通知用户已发送,并释放请求,而完全不用

2017-08-26 10:11:32 2266 5

原创 spring boot(16)-mail发邮件

上一篇讲了如何处理异常,并且异常最终会写入日志。但是日志是写在服务器上的,我们无法及时知道。如果能够将异常发送到邮箱,我们可以在第一时间发现这个异常。当然,除此以外,还可以用来给用户发验证码以及各种离线消息等pom.xml org.springframework.boot spring-boot-starter-mail application.pro

2017-08-19 10:49:48 2066

原创 spring boot(15)-异常处理

异常传递如图:服务层和dao层的异常最终都会到达控制层,控制层的异常则会自动记入logback日志系统。所以我们应该在控制层来捕获系统异常捕获控制层异常import org.slf4j.Logger;import org.slf4j.LoggerFactory;@Controllerpublic class SampleController { //用来手

2017-08-12 10:21:54 2040 6

原创 spring boot(14)-pom.xml配置

继承spring-boot-starter-parent要成为一个spring boot项目,首先就必须在pom.xml中继承spring-boot-starter-parent,同时指定其版本 org.springframework.boot spring-boot-starter-parent 1.5.6.RELEASE 环境参数在普通maven项目

2017-08-05 16:53:12 12161

原创 spring boot(13)-logback和access日志

logbacklogback出自log4j的作者,性能和功能相比log4j作出了一些改进,而配置方法和log4j类似,是spring boot的默认日志组件。在application.properties文件中可以进行一些简单的日志配置,参考第五篇。如果要作一些更详细的配置,需要在resources目录下配置logback-spring.xmllogback-spring.xmls

2017-07-29 10:40:36 7107

原创 spring boot(12)-数据源配置原理

本篇讲的不仅是数据源配置,这也是spring boot实现自动配置的一部分。要理解数据源的配置原理,首先要理解第十篇tomcat连接池的配置数据源配置源码这里截取org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration的部分源码,中文注释都是我加的,主要介绍Tomcat和Hikari连接池如何自动配置切换,其他数

2017-07-22 10:33:18 4227

原创 spring boot(11)-druid监控

druiddruid是和tomcat jdbc一样优秀的连接池,出自阿里巴巴。关于druid连接池参数,参考https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8除了连接池,druid还有一个很实用的监控功能,这就是下面要讲的

2017-07-15 08:59:10 4708 4

原创 spring boot(10)-tomcat jdbc连接池

默认连接池tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多。spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了spring boot 的jdbc组件,就会自动引入tomcat jdbc连接池。关于引入jdbc和数据库的连接配置,参考第六篇默认参数以下是org.apache.tomcat.jdbc

2017-07-09 11:18:26 17849 4

原创 spring boot(9)-mybatis关联映射

一对多查询type表的某一条数据,并且要同时查出所有typeid与之配置的user,最终要得到一个以下类型的Type对象public class Type { String id; String name; List users;dao层 @Select("select * from user where typeid = #{typeid}") public List fin

2017-06-30 08:46:10 10848 6

原创 spring boot(8)-mybatis三种动态sql

脚本sqlXML配置方式的动态SQL我就不讲了,有兴趣可以自己了解,下面是用的方式把它照搬过来,用注解来实现。适用于xml配置转换到注解配置@Select("select * from user where id = #{id} ") public List findUserById(User user); 很明显,在java中写xml可读性和维护性太差,尤其当SQL很长时,这样

2017-06-24 09:04:14 28852 11

原创 spring boot(7)-mybatis全注解化

关于配置数据库可以参考上一篇文章,这里只讲mybatispom.xml org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.0 com.github.pagehelper pagehelper-spring-boot-starter 1.1.1基本SQL操作sp

2017-06-10 09:09:52 26662 8

原创 maven(18)-mybatis generator插件

generator的作用使用mybatis框架,在初始项目或修改数据库时,相应的要在JAVA项目中去写一些数据模型文件,DAO,映射XML等配置,而这个插件的作用就是自动生成这些文件,以节省大量时间pom.xml org.mybatis.generator

2017-06-03 09:02:11 4223

原创 spring boot(6)-JdbcTemplate访问数据库

pom.xml添加jdbc模块和mysql依赖 org.springframework.boot spring-boot-starter-jdbc mysql mysql-connector-java application.propertiesspring boot的jdbc模块会加载以下参数,并且根据url可以识别并自

2017-05-28 08:44:20 5592

原创 spring boot(5)-properties参数配置

application.propertiesapplication.properties是spring boot默认的配置文件,spring boot默认会在以下两个路径搜索并加载这个文件src\main\resourcessrc\main\resources\config配置系统参数在application.properties中可配置一些系统参数,sprin

2017-05-20 11:03:50 5109 6

原创 spring boot(4)-html和templates

静态页面spring boot项目只有src目录,没有webapp目录,会将静态访问(html/图片等)映射到其自动配置的静态目录,如下/static/public/resources/META-INF/resources如下,在resources建立一个static目录和index.htm静态文件,访问地址  htt

2017-05-13 09:57:38 77772 33

原创 spring boot(3)-Rest接口

jsp技术已经不再推荐,现在更加流行前后端分离,即静态html+ rest接口(json格式),具体原因本篇不讨论,本博客只讲html+rest模式。老版本rest用spring mvc可以很容易的实现json格式的rest接口,以下是spring老版本的用法,在spring boot中已经自动配置了jackson//注册一个spring控制层bean@Controllerpublic c...

2017-05-06 16:34:14 8231 2

原创 spring boot(2)-@SpringBootApplication详解

pom.xml org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE org.springframework.boot spring-boot-starter-web Run.javapackage hello;import org.spring

2017-04-29 08:05:15 24722

原创 spring boot(1)-Hello World

spring boot简介spring boot是由spring官方推出的一个新框架,对spring进行了高度封装,是spring未来的发展方向。spring boot功用众多,其中最主要的功能就是自动配置,简化开化,下面通过一个hello world来看一下它究竟有多简,需要有一定的spring和maven基础环境eclipse:4.5(mars)jdk:spri

2017-04-15 19:01:09 8039 5

原创 maven(17)-自动发布到远程linux服务器

发布方式手工方式:需要做一系列的工作,包括打WAR包,上传到服务器,重启服务器,删除旧文件等自动方式:一条命令完成以上所有过程服务器环境centos7.3和tomcat8,关于centos的应用,涉及LINUX方面的知识以后有机会再讲,这里假设已经在centos上部署好了tomcatpom.xml org.apache.maven

2017-04-09 11:12:38 3310

原创 maven(16)-灵活的环境构建

多个环境一个项目,在家的时候可能会在本机上运行,在公司可能在内网测试环境运行,上线后会在生产环境运行,在不同的环境中会有一些配置是不一样的,至少数据库就不一样。如果每换一个环境就去改所有配置太过于麻烦,以下方法就是通过一个参数灵活的切换不同的环境项目结构pom.xml dev dev tr

2017-04-02 09:15:30 1665

原创 maven(15),快照与发布,RELEASE与SNAPSHOT

发布RELEASE用户A将代码打包发布到RELEASE仓库,具体操作参考上篇文章。用户B使用时,需要在pom.xml添加JAR包的依赖坐标。如果用户A将版本从1.0升级为2.0,用户B使用时也需要同时在pom.xml中修改坐标版本。但是RELEASE是稳定版本,是经过测试以后才会发布的,通常不会频繁的升级版本快照SNAPSHOTSNAPSHOT是不稳定版,可能是

2017-03-25 22:23:41 25949 2

原创 maven(14)-nexus仓库基本用法

登录启动nexus3,访问http://localhost:8081/  点击右上角sign in登录,默认用户名:admin  密码:admin123,登陆后可以点击右上角的admin,修改默认密码仓库类型点击最上排的齿轮按钮,然后点击左边的repository--repositories菜单,可以看到当看仓库列表format列:maven2是JAVA仓库。n

2017-03-19 09:16:03 5353

原创 maven(13)-安装nexus私服

环境nexus最新3.x版需要java1.8,2.x版需要1.7以上。我之前一直用2.x,现在偿试在centos7和window10上分别安装nexus3.x,首先确保系统中已经配好了JDK1.8环境变量官网下载地址:https://www.sonatype.com/download-oss-sonatype  分别下载windows版和unix版(centos版)

2017-03-11 09:43:17 2131

原创 maven(12),排除冲突JAR包

JAR包冲突 org.springframework spring-core 4.3.6.RELEASE 在pom.xml中添加以上依赖的时候,会自动添加以下两个JAR包spring-core会自动附带commons-logging-1.2,同样当我们添加其他依赖的时候,有可能也会自动加入commons-logging,而且版

2017-03-04 16:11:28 33147 1

原创 maven(11)-聚合多模块

聚合项目一些开源项目,都会把自己的源代码公开到github之类的网站上,我们通过下载其代码,在本地执行maven install,可以把代码编译成jar包安装到本地仓库。而一个项目通常有多个模块,比如spring就有spring web,spring jdbc等20多个模块,如果一个个的执行maven install,太过繁琐,而且这些模块都是彼此依赖的,必须搞清楚各模

2017-02-26 09:31:14 2931

原创 maven(十)-继承

继承如果项目划分了多个模块,都需要依赖相似的jar包,只需要创建一个父模块,在它的pom.xml文件中配置依赖jar包。功能模块只需要继承父模块,就可以自动得到其依赖jar包,而不需要在每个模块中都重复配置。创建父模块在eclipse中创建项目-maven project,这里勾选 create a simple.... 下一步输入group id和ar

2017-02-25 10:01:22 2709 3

原创 maven(九),install安装oracle.jar到本地仓库

下载oracle驱动jar包在maven中央仓库中,是没有oracle驱动jar包的。因为oracle是商业软件,其jar包不允许用作开源用途。从http://www.mvnrepository.com 网站可以找到ojdbc14的坐标,但是你引入项目中会报错无法下载。还可以找到ojdbc6的坐标,如下,但是注意看Repository下面并不是central,它不是中央仓库,只是第三方仓库

2017-02-19 10:59:28 6582 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除