- 博客(365)
- 资源 (33)
- 收藏
- 关注
原创 SpringBoot17-springboot的Web开发-Web相关配置
一:Spring Boot提供自动配置 通过查看WebMvcAutoConfiguration及WebMvcProperties的源码,可以发现Spring Boot为我们提供了如下的自动配置。 1,自动配置的ViewResolver1)ContentNegotiatingViewResolver 这是Spring MVC提供的一个特殊的ViewResolver,
2017-08-12 10:06:25 4997
原创 SpringBoot16-springboot的Web开发-Spring Boot的Thymeleaf支持
Spring Boot提供了大量的模板引擎,包含了FreeMarker,Groovy,Thymeleaf,Velocity和Mustache,Spring Boot中推荐使用Thymeleaf作为模板引擎,因为Thymeleaf提供了完美的Spring MVC的支持。 Thymeleaf是一个java类库,它是一个xml/xhtml/html5的模板引擎,可以作为MVC的Web应用的Vi
2017-08-08 22:45:37 9221 1
原创 设计模式10-责任链模式
中国古代对妇女制定了“三从四德”的道德规范,“三从”是指未嫁从父,既嫁从夫,夫死从子。也就是说一位女性在结婚之前要听从父亲,结婚后要听从于丈夫,如果丈夫死了还要听从于儿子。比如要逛街,作为父亲,丈夫或儿子,只有两种选择:要不要承担起责任来,允许她或不允许她逛街;要不就让她请示下一个人。这就延伸出了责任链模式。类图如下:
2017-08-07 12:18:56 474
原创 SpringBoot15-springboot核心-Spring Boot运行原理
这篇来先通过学习分析Spring Boot的运行原理后,根据已掌握的知识来自定义一个start pom。 Spring Boot关于自动配置的源码在spring-boot-autoconfigure-xxx.jar内。若想查看有哪些自动配置,可以查看这里的源码。可以通过下面几种方式查看当前项目中已启用和未启用的自动配置的报告。 1)运行jar包时增加--debug参数:
2017-08-06 11:44:49 17287 3
原创 SpringBoot14-springboot核心-外部配置,日志配置,Profile配置
一:外部配置 Spring Boot允许使用properties文件,yaml文件或命令行参数作为外部配置。 1,命令行参数配置 Spring Boot可以是基于jar包运行的,打包jar包的程序可以直接通过命令行运行: java -jar xx.jar 可以通过以下命令修改Tomcat端口号: java -jar
2017-08-05 11:36:16 2771
原创 设计模式8-中介者模式
这篇来简单学习介绍下中介者模式,所谓的中介者模式,简单的说就是所有的对象不直接进行关联,都是通过一个中间对象进行关联,又点像网络中星型模型。
2017-08-04 14:52:55 416
原创 设计模式6-代理模式
代理模式我们平常用的比较多,比如spring的aop就是使用的代理模式。代理又分为静态代理和动态代理,动态代理又分了两种,具体的代理模式,我之前有博客已经提及了,这里就不多少了,具体的参考http://blog.csdn.net/j903829182/article/details/73799968http://blog.csdn.net/j903829182/article/detail
2017-08-03 12:17:23 381
原创 设计模式5-建造者模式
在上一篇中简单的说了下模板方法模式,这篇将简单的介绍下建造者模式,基于前面的http://blog.csdn.net/j903829182/article/details/76576712模式的一个改造。比如汽车启动的顺序需要可以控制设置,上篇的模式就不能够满足要求了,这里使用建造者模式来解决可以手动控制启动顺序的需求。类图如下: 编写一个汽车模型的抽象类,代
2017-08-03 12:02:30 453
原创 设计模式4-模板方法模式
模板方法模式,简单的说就是把子类的一些共通的东西放在抽象父类中实现,这样子类继承抽象父类,拥有了一样的东西,也不需要去写一些重复的代码。比如下面的一个类图: 上图中run方法就是子类共用的一个方法,代码都一样,子类为了减少代码,直接继承父类的run方法,实现模板的功能。 抽象类定义:package com.jack.modelmethod;/*
2017-08-02 18:20:09 420
原创 设计模式3-抽象工厂模式
假如现在女蜗还需要生产男性和女性,使用抽象工厂模式,类图如下:定义人种接口:package com.jack.abstractfactory;/** * Created by jack on 2017/8/1. * 人类接口 */public interface Human { /** * 每个人种的皮肤都有相应的颜色 */
2017-08-01 19:06:35 434
原创 设计模式2-工厂方法模式
有这么一个场景,女蜗造人,造了三种人类,白色人种,黑色人种,黄色人种。这里用软件设计的方法来实现,涉及到女蜗,八卦炉,三种颜色的人。 类图如下: 定义一个人类接口,人类的总称:package com.jack.factory;/** * Created by jack on 2017/8/1. * 人类接口 */public interface
2017-08-01 17:48:07 630
原创 设计模式1-单例模式
单例模式是类在运行程序中只产生一个对象,类外不能通过new创建对象。单例对于创建和销毁对象需要很大资源的类来说比较合适,在spring中,spring管理的bean模式就是单例模式,下面来看两个简单的单例模式,一个是饿汉模式,一个是懒汉模式。 饿汉模式:package com.jack.singleton;/** * Created by jack on 2017/8/
2017-08-01 15:51:24 526
原创 SpringBoot13-springboot核心-基本配置
一:入口类和@SpringBootApplication Spring Boot通常有一个名为*Applicationd的入口类,入口类里有一个main方法,这个main方法其实就是一个标准的Java应用的入口方法。在main方法中使用SpringApplication.run(class,args),启动Spring Boot应用项目。上一篇,我们建立了一个Spring Boot项
2017-07-30 11:31:35 1490
原创 SpringBoot12-springboot-springboot快速搭建
之前都是spring boot的基础,从这里开始,正式步入了spring boot技术中。下面创建一个maven项目,用来管理所有的spring boot项目和以后的spring cloud项目,这个maven项目就命名为SpringCloudOne一,创建
2017-07-29 01:26:52 433
原创 SpringBoot11-springboot-springboot概述
spring boot的核心功能1,独立运行的Spring 项目 Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot项目只需通过java -jar xx.jar来运行2,内嵌Servlet容器 Spring Boot可选择内嵌Tomcat,Jetty或者Undertow,这样我们无需以war包形式部署项目3,提供start
2017-07-28 23:34:31 400
原创 SpringBoot10-Spring MVC-Spring MVC的测试
测试是保证软件质量的关键,为了测试Web项目通常是不需要启动项目,我们需要一些Servlet相关的模拟对象,比如MockMVC,MockHttpServletRequest,MockHttpServletResponse,MockHttpSession等。 在Spring里,我们使用@WebAppConfiguration指定加载的ApplicationContext是一个WebA
2017-07-28 23:11:49 673
原创 SpringBoot9-Spring MVC-Spring MVC高级配置
一:文件上传 文件上传是一个项目里经常要用的功能,Spring MVC通过配置一个MultipartResolver来上传文件。 在Spring的控制器中通过MultipartFile file来接收文件,通过MultipartFile[] files接收多个文件上传。 下面是示例:
2017-07-27 22:31:01 3777
原创 SpringBoot8-Spring MVC-Spring MVC基本配置
Spring MVC的定制配置需要我们的配置类继承一个WebMvcConfigurerAdapter类,并在此类使用@EnableWebMvc注解,并开启对Spring MVC的配置支持,这样我们就可以重写这个类的方法,完成我们的常用配置。 我们将前面的MyMvcConfig配置类继承WebMvcConfigurerAdapter。下面没有特别说明,关于配置的相关内容都在MyMv
2017-07-25 22:33:17 10314
原创 spring boot集成mybatis-generator-maven-plugin和通用mapper
在开发中基本都是要使用数据库,编写数据库层的代码。比如我们使用mybatis,需要建立表对应的POJO类,对应的mapper接口,对应的mapperxml文件,这些都是一些繁琐的代码,一般在开发中都会考虑自动生成这些代码,利用mybatis-generator-maven-plugin插件自动生成这些代码,解放大脑和手了,有更多的时间休息,享受生活了。下面是mybatis-generator-ma
2017-07-24 15:19:37 10446 2
原创 SpringBoot7-Spring MVC-简介
spring mvc常用有以下几个注解:1,@Controller: @Controller注解在类上,表明这个类是一个spring mvc里的controller,将其声明为Spring的一个Bean,Dispatcher Servlet会自动扫描注解了此注解的类,并将web请求映射到注解了@RequestMapping的方法上。这里需要指出,在声明普通Bean的时候,使用@Co
2017-07-23 11:07:08 201
原创 SpringBoot6-Spring MVC-快速搭建spring mvc
一:spring mvc概述 了解spring mvc之前,先来了解下什么是mvc,它和三层架构是什么关系: mvc:Mode+View+Controller(数据模型,视图,控制器) 三层架构:Presentation tier + Application tier+Data tier(展现层+应用层+数据访问层)那么MVC和三层架构有什么关系了?我
2017-07-22 11:03:55 796
原创 Spring Boot使用mybatis连接mysql
使用IDEA创建一个spring boot项目,项目名为springbootstudy,使用maven管理jar包。1,修改pom.xml配置,配置如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:
2017-07-21 14:32:20 3536
原创 Spring Cloud1实现注册中心and服务的注册与消费
Spirng Cloud可以很容易的实现注册中心,进行服务的注册,进行服务的消费。国内阿里开源的dubbo也实现了SOA,但是功能没有Spirng Cloud强大,而且dubbo已经不进行维护了,下面搭建一个简单的注册中心,然后进行服务的注册,服务的消费。一:搭建注册中心 1,使用IDEA创建一个maven项目,该项目是一个maven的parent,起到管理其他module
2017-07-21 12:32:28 14337 3
原创 mysql5.7.18免安装版的配置安装
mysql最新版本已经到了5.7了,下面是在win10环境下,安装配置mysql的步骤:一:下载mysql 下载地址:https://dev.mysql.com/downloads/把下载好的mysql安装包解压到指定的目录 我下载的是mysql-5.7.18-winx64.zip,解压目录为D:\programing\mysql-5.7.18-winx64
2017-07-18 18:29:43 1869
原创 从零开始写javaweb框架笔记23-使框架具备AOP特性-实现事务控制特性
之前实现过一个Service注解,用于定义服务类,而在服务类种会包括若干方法,有些方法具备事务性,比如创建,修改,删除。如果来保证这类方法具有事务性呢?我们可以利用这个Proxy框架来实现一个简单的事务控制特性。值需要开发者使用Transaction注解,将其定义在需要事务控制的方法上即可。一:定义事务注解
2017-07-18 16:30:20 625 3
原创 从零开始写javaweb框架笔记21-使框架具备AOP特性-ThreadLocal简介
一:什么是ThreadLocal ThreadLocal直译为“线程本地”,或者“本地线程”,但是其实它是一个容器,不是什么线程,这个容器用于存放线程的局部变量,应该叫ThreadLoadVariable(线程局部变量)才对。 早在JDK1.2的时代,java.lang.ThreadLocal就诞生了,它是为了解决多线程并发问题而设计的,只不过设计得有些难用,所以至今没
2017-07-17 18:15:36 555
原创 SpringBoot5-spring高级话题-组合注解与元注解,@Enable*注解的工作原理,测试
一:组合注解与元注解 从spring2开始,为了响应JDK1.5推出的注解供暖,spring开始大量加入注解来替代xml配置。spring的注解主要用来配置和注入bean,以及AOP相关的配置(@Transactional)。随着注解的大量使用,尤其相同的多个注解用到各个类或方法中,会相当繁琐。这就是所谓的样板代码,是spring设计的原则中要消除的代码。 所谓元注解其
2017-07-16 11:12:41 2486
原创 SpringBoot4-spring高级话题-spring aware,多线程,计划任务,条件注解@Conditional
一:Spring Aware1,点睛 spring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存在是没有意识的,即你可以将你的容器替换成别的容器,如Google Guice,这时Bean之间的耦合度很低。 但是在实际项目中,你不可避免的要用到Spring容器本身的功能资源,这时你的Bean必须意识到Spring容器的的存在,才能调用Spring所提供的资源
2017-07-15 13:53:32 1037
原创 SpringBoot3-spring常用配置
spring的常用配置 1,bean的scope scope描述了spring容器如何新建bena的实例,spring的scope有以下几种,通过@Scope注解来实现 1)Singleton:一个spring容器中只有一个bena的实例,此为spring的默认配置,全容器共享一个实例的bean。 2)Prototype:每次调用新建一个bean的实例 3)Reque
2017-07-11 22:36:05 1219
原创 jenkins+git+maven+shell构建自动化部署项目
自动化部署构建Jenkin简介:Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。首先需要理解的是,Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”
2017-07-11 14:52:52 1937
原创 SpringBoot2-spring基础-AOP
AOP:面向切面编程,相对于oop面向对象编程 spring的Aop的存在是为了解耦,AOP可以让一组类共享相同的行为。在OOP中只能通过基础类和实现接口,来使代码的耦合度增强,且继承只能为单继承,阻碍更多行为添加到一组类上, AOP补充了OOP的不足。 Spring支持Aspect的注解式切面编程 1)使用Aspect声明式一个切面 2)使用@After,
2017-07-09 23:04:33 1796 2
原创 SpringBoot1-spirng项目快速搭建+maven+spring的基本配置
最近又重新学习了下spring和spring mvc,有一些收获,为了记下这些收获,整理成学习笔记,方便日后在进行复习使用。 spirng使用简单的POJO(plain old java object ,及无任何限制的普调java对象)来进行企业级开发。每一个被spring管理的java对象都称之为bean;spring提供了一个ioc容器来初始化对象,解决对象之间的依赖管理和对象的使
2017-07-09 08:41:08 1011
原创 从零开始写javaweb框架笔记20-使框架具备AOP特性-开发AOP框架
借鉴Spring AOP的风格,写一个基于切面注解的AOP框架,需了解前面的动态代理技术 一:定义切面注解 在框架中添加一个名为Aspect的注解,代码如下:
2017-06-27 19:05:49 423
原创 从零开始写javaweb框架笔记19-使框架具备AOP特性-AOP技术简介
AOP是面向切面编程。切面是AOP中的一个术语,表示从业务逻辑中分离出来的横切逻辑,比如性能监控,日志记录,权限控制等,这些供暖都可以从核心的业务逻辑代码中抽离出去。也就是说通过AOP可以解决代码耦合的问题,让职责更加单一。其实很早以前就出现了AOP这个概念。最知名最强大的java开源项目就是AspectJ,它的前身是AspectWerkz。直到后来老罗 Rod Johnson写了Spring框架
2017-06-27 19:02:17 578
原创 从零开始写javaweb框架笔记18-使框架具备AOP特性-代理技术简介
代理,或者称为Proxy。意思就是你不需要去做,别人代替你去处理。它在程序开发中起到了非常重要的作用,比如传说中的AOP,就是针对代理的一种应用。此外,在设计模式中,还有一个代理模式。在公司里要上外网,要在浏览器设置一个HTTP代理,可见代理无处不在。 学习由浅到深,先看一个简单的HelloWorld:
2017-06-27 17:13:56 770
原创 linux平常的常用命令
平常经常使用linux进行开发,软件安装,环境部署等,会用到一些常用的命令,下面是我平时使用到linux下的常用命令: type command 查看一条命令是外部命令还是内部命令[root@upl test]# type cdcd is a shell builtincd 是内部命令[root@upl test]# type mountmount is
2017-06-20 18:14:22 1975
原生apphtml2.rar
2017-11-21
转换工具ffmpeg
2017-11-14
zookeeper-3.4.10.tar.gz
2017-06-21
锋利jquery
2015-11-27
commons-fileupload-1.3-bin.zip
2013-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人