当我们使用Spring Initializr来创建Spring Boot工程的时候,有没有发现在工程根目录下有两个名为mvnw的文件: 从命名.图标.扩展名来猜测,这两个文件的作用应该是一样的,只是cmd文件应该是用在windows下跑的,而另外一个则是用于linux环境下跑的. 欢迎关注Spring Boot系列免费教程连载「点击进入汇总目录」 那么这个文件到底是用来做什么呢?下面我们一起尝试了解一下: 第一步:打开读一下 因为内容较多,我这里就不放出来了.内容也非常易懂,只要你了解shell…
使用 Spring Initializr 初始化 Spring Boot 项目 Spring Initializr 从本质上说就是一个Web应用程序,它能为你构建Spring Boot项目结构. 虽然不能生成应用程序代码,但它能为你提供一个基本的项目结构,以及一个用于构件代码的Maven或者Gradle构建说明文件. Spring Initializr 的几种用法 通过Web界面使用 通过Spring Tool Suite使用 通过IntelliJ IDEA使用 通过Spring Boot CL…
使用 @Value("${property}") 注释注入配置属性有时会很麻烦,尤其是当你使用多个属性或你的数据是分层的时候. Spring Boot 引入了一个可替换的方案 -- @ConfigurationProperties 来注入属性. JavaBean 属性绑定 @Data @ConfigurationProperties("my.service") public class MyProperties { // 我们可以简单地用一个值初始化一个字段来定义一…
使用Intellij中的Spring Initializr来快速构建Spring Boot工程 New---Project 可以看到图所示的创建功能窗口.其中Initial Service Url指向的地址就是Spring官方提供的Spring Initializr工具地址,所以这里创建的工程实际上也是基于它的Web工具来实现的,也可以将此地址copy到浏览器上试一下,会生成spring boot的项目工程下载 Next,下图可以看到可以编辑我们所创建的工程信息,type类型,language语…
使用Idea在spring boot中集成mybatis-generator,自动生成mapper.xml  model  dao 文件 一.配置 pom.xml 在pom.xml的<plugins>标签下增加如下配置 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <…
在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建.而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过<Spring Boot快速入门>一文中提到的SPRING INITIALIZR页面工具来创建,相信每位读者都有自己最喜欢和最为熟练的创建方式. 本文我们将介绍嵌入的Intellij中的Spring Initializr工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的…
在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建.而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过<Spring Boot快速入门>一文中提到的SPRING INITIALIZR页面工具来创建,相信每位读者都有自己最喜欢和最为熟练的创建方式. 本文我们将介绍嵌入的Intellij中的Spring Initializr工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的…
spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行环境简单,可以在开发人员的电脑上跑.另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解,如果不了解的话可以看这篇文章:2小时学会springboot.另外对于"微服务架构" 不了解的话,可以通过搜索引擎搜索"微服务架构&q…
体验Spring Initializr生成的spring boot工程,启动成功, 目录结构如下: 添加了一个简单的controller后,启动成功但访问报404错误: 原因: springboot默认扫描启动类当前及以下包: 启动类CloudDemoApplication的包路径:com.unisound.ig.cloudDemo controller的包路径:com.unisound.ig.controller 因此,无法识别controller所在包的Bean: 解决方案: 1.重写Spr…
在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建.而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过<Spring Boot快速入门>一文中提到的SPRING INITIALIZR页面工具来创建,相信每位读者都有自己最喜欢和最为熟练的创建方式. 本文我们将介绍嵌入的Intellij中的Spring Initializr工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的…
本文将介绍嵌入的Intellij中的Spring Initializr工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的Spring Boot/Cloud工程. 1.菜单栏中选择File=>New=>Project..,我们可以看到如下图所示的创建功能窗口.其中Initial Service Url指向的地址就是Spring官方提供的Spring Initializr工具地址,所以这里创建的工程实际上也是基于它的Web工具来实现的. 2.点击Next,等待片刻后,我们可以看…
文章目录 什么是Open API规范定义文件呢? 生成Rest Client 在Spring Boot中使用 API Client 配置 使用Maven plugin 在线生成API Spring Boot中使用Swagger CodeGen生成REST client Swagger是一个非常好用的API工具,我们会使用Swagger来暴露API给外界测试,那么有没有简单的办法来生成对应的调client呢? Swagger CodeGen是一个REST 客户端生成工具,它可以从Open API的…
效果如下图所示: 添加Swagger2依赖 在pom.xml中加入Swagger2的依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <versi…
Spring Boot是由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建以及开发过程.它主要推崇的是'消灭配置’,实现零配置. 那么,如何快速新建一个一个springboot项目脚手架呢?目前,市面主流的两种方式:一种主要利用 Spring 官方提供的在线项目脚手架来搭建 SpringBoot 的项目:另一种使用开发工具IDE(比如,IntelliJ IDEA)集成的插件快速创建. 一.Spring 官方提供的在线项目脚手架来搭建 1.1 知识储备 # Grou…
前言 按照网上很多教程,出错特别多.首先是GitHub和maven仓库的网络环境比较差,踩了很多坑:其次是SpringInitializr更新迭代几个版本,0.7.0我也没能弄成功.索性就用了旧版本0.6.0 一.运行环境 Maven版本:3.5.3 JDK:1.8 Windows:win7 x64 Spring Initilizr版本:v0.6.0 二.设置使用阿里的maven仓库 maven安装目录中,conf文件夹下settings配置文件mirrors节点增加以下子节点: <mirror…
SpringBoot 为我们提供了外网 Spring Initializr 网页版来帮助我们快速搭建 SpringBoot 项目,如果你不想用 IDEA 中的插件,这种方式也是不错的选择.闲话少说,直接开始我们的搭建操作! 记得第一次学习的时候访问 Spring Initializr地址 https://start.spring.io/ 是如下图所示的样子: 当时最新的版本是 2.1.0.RELEASE,仅仅几个月的时间 https://start.spring.io/ 就是如下图的模样了 个人…
spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化.除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库.可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景.本文介绍Redis在Spring Boot中两个典型的应用场景. 如何使用 1.引入…
阅读对象 搭框架人员,或者其他感兴趣的开发人员 背景 一般来说在业务代码中,加上 @Component, @Service,@Repository, @Controller等注解就可以实现将bean注册到Spring中了. 但是在写框架,可能有些类会动态生成,怎么动态注册到Spring中呢? BeanDefinitionRegistryPostProcessor 接口 BeanDefinitionRegistryPostProcessor接口是一个可以修改spring工厂中已定义的bean的接口…
Spring framework中的beans 1.概述 bean其实就是各个类实例化后的对象,即objects spring framework的IOC容器所管理的基本单元就是bean spring的IOC容器管理bean的实例化.依赖关系配置过程.bean组装过程(依据依赖关系进行组装) 使用spring的IOC容器管理beans,有三种配置beans之间的依赖关系的方法,分别是XML-based configuration.annotion-based configuration以及Jav…
前面准备:下载spring.net并解压 下载地址:spring.net下载地址 Ioc:控制反转         DI:依赖注入 一.IOC(控制反转) 1.新建一个控制台程序springTest,引用dll. Spring.NET > bin > net > 4.0 > release下找到 Comon.Logging.dll和Spring.Core.dll这两个dll复制到项目中添加引用 2.添加一个接口 interface Person { void Show(); } 3…
如果你还不熟悉AOP,请先看AOP基本原理,本文的例子也沿用了AOP基本原理中的例子.切点表达式 切点的功能是指出切面的通知应该从哪里织入应用的执行流.切面只能织入公共方法.在Spring AOP中,使用AspectJ的切点表达式语言定义切点其中excecution()是最重要的描述符,其它描述符用于辅助excecution().excecution()的语法如下execution(modifiers-pattern? ret-type-pattern declaring-type-patter…
在前面我写了<如何在spring框架中解决多数据源的问题>,通过设计模式中的Decorator模式在spring框架中解决多数据源的问题,得到了许多网友的关注.在与网友探讨该问题的过程中,我发现我的方案并不完善,它只解决了一部分问题. 总结多数据源的问题,其实它需要分为以下三种情况:各个数据源的数据结构不同.各个数据源的数据结构相同.各个数据源的数据结构部分相同又有部分不同.对于第二种情况,各个数据源的数据结构相同,我们使用一个sessionFactory,而在sessionFactory中通…
ACL即访问控制列表(Access Controller List),它是用来做细粒度权限控制所用的一种权限模型.对ACL最简单的描述就是两个业务员,每个人只能查看操作自己签的合同,而不能看到对方的合同信息. 下面我们会介绍Spring Security中是如何实现ACL的. 23.1. 准备数据库和aclService ACL所需的四张表,表结构见附录:附录 E, 数据库表结构. 然后我们需要配置aclService,它负责与数据库进行交互. 23.1.1. 为acl配置cache 默认使用e…
通过spring.net中的spring.caching CacheResult实现memcached缓存1.SpringMemcachedCache.cs2.APP.config3.Program.cs4.Common 待解决问题:CacheResult,CacheResultItems有什么区别???? SpringMemcachedCache.cs memcached的实现, 继承了Spring.Caching.AbstractCache, memcached的实现用了Enyim.Cach…
转载:http://blog.csdn.net/qyp1314/article/details/42023725 Spring MVC中各个filter的用法 2014-12-19 09:08 10517人阅读 评论(1) 收藏 举报 分类: Java(5) 目录(?)[+] http://liuluo129.iteye.com/blog/1965268 springspring mvcfilter  过滤器相关类的结构 spring mvc的org.springframework.web.fi…
1.csrf是什么 csrf全称是Cross-site request forgery,http://en.wikipedia.org/wiki/Csrf 危害:使受害用户在不经意间执行了不是用户意愿的请求.最终导致泄密和执行了其他高危害操作. 2.一般防御做法 防御基本原理:本质上是做好用户数据提交的完整性,保证用户提交的内容是用户发起的非篡改过的请求. 通常做法是,在用户在访问页面的时候,通过隐藏于渲染一个token,这个token由服务器在后端渲染.用户在执行变更的提交时,把token作为…
0  前言 1  动态代理 1.1 JDK动态代理 1.2 CGLIB动态代理 1.2.1 CGLIB的代理用法 1.2.2 CGLIB的过滤功能 2  Spring AOP中的动态代理机制 2.1 JdkDynamicAopProxy 2.2 CglibAopProxy 3 总结 0  前言 前一个季度旅游TDC的Thames服务有几次宕机,根据组内原因认真查找发现是数据库事务造成的,后来把服务中的事务配置全部去掉,服务恢复正常.根据这次教训,虽然现在还是很难确定是哪一个方面的真正原因,但是激…
开发准备: 1.导入jar包: ioc基本jar jdbcTemplate基本jar c3p0基本jar 别忘了mysql数据库驱动jar 原始程序代码:不使用配置文件方式(IOC)生成访问数据库对象 package org.dao; import java.beans.PropertyVetoException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasour…
spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化.除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库.可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景.本文介绍Redis在Spring Boot中两个典型的应用场景. 如何使用 1.引入…
生成验证码的方式有很多,个人认为较为灵活方便的是Kaptcha ,他是基于SimpleCaptcha的开源项目.使用Kaptcha 生成验证码十分简单并且参数可以进行自定义.只需添加jar包配置下就可以使用.kaptcha所有配置都可以通过web.xml来完成,如果项目使用了Spring MVC,那么实现方式会略有不同. 一.Servlet项目 1.添加jar包依赖 maven项目,在pom.xml中添加dependency <!-- kaptcha -->   <dependency&…