SpringBoot学习笔记(一)基础】的更多相关文章

前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而另一个则很少,那么线程多的服务会感觉这个线程池小,另一个又觉得浪费资源,这样很不灵活,所以希望将这个线程池被引用的时候可以自定义配置.比如在配置文件中写下线程池的核心线程数,最大线程数等等,根据不同的需要配置不同的参数. 实现 思路 前面学过[转]Spring Boot干货系列:(二)配置文件解析和…
SpringBoot学习笔记(7):Druid使用心得 快速开始 添加依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid-version}</version> </dependency> 配置属性 JDBC配置 spring.datasource.druid.url= # 或…
MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数据库连接池管理数据库. ☐ 将SQL语句硬编码到Java代码中,若SQL语句修改,需要重新编译Java代码,不利于系统维护. ☐ 将SQL语句配置在XML文件中,即使SQL变化,我们也不需要队Java代码进行重新编译. ☐ 向PreparedStatement中设置参数,对占位符号位置和设置参数值,…
基础导航条 在Bootstrap框中,导航条和导航从外观上差别不是太多,但在实际使用中导航条要比导航复杂得多.我们先来看导航条中最基础的一个--基础导航条. 使用方法: 在制作一个基础导航条时,主要分以下几步: 第一步:首先在制作导航的列表(<ul class="nav">)基础上添加类名"navbar-nav" 第二步:在列表外部添加一个容器(div),并且使用类名"navbar"和"navbar-default"…
SpringBoot个人感觉比SpringMVC还要好用的一个框架,很多注解配置可以非常灵活的在代码中运用起来: springBoot学习笔记: .一.aop: 新建一个类HttpAspect,类上添加两个注解:@Aspect (这个是说明aop文件)@Component(这个加载到spring容器内), HttpAspect添加日志方法: @Before("execution(public * com.imooc.controller.GirlController.*(..))")p…
Django学习笔记(基础篇):http://www.cnblogs.com/wupeiqi/articles/5237704.html…
一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字节的值,该如何在它上面调用方法? 二:值类型转换为引用类型——装箱 2.1CLR对值类型进行装箱时:新分配托管堆内存,将值类型的实例字段拷贝到新分配的内存中,返回托管堆中新分配对象的地址.这个地址就是一个指向对象的引用. ; Object obj = i; 三:将引用类型转换为值类型——拆箱 3.1…
一:要了解值传递和引用传递,先要知道这两种类型含义,可以参考上一篇 C#学习笔记(基础知识回顾)之值类型和引用类型 二:给方法传递参数分为值传递和引用传递. 2.1在变量通过引用传递给方法时,被调用的方法得到的就是这个变量,更准确的说,是指向内存中变量的指针.所以方法内部对变量进行的任何改变在方法退出后仍然有效.而如果变量通过值传递给方法,被调用的方法得到的是变量的一个相同副本,也就是说方法退出后,对变量进行的修改会丢失. 2.2值类型的值传递:值类型的变量包含的是实际数据,作为参数传递的是数据…
一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存储位置的不同会有不同的影响. 例如int类型是值类型:int x,y; x=10;y=x;y=20;前三个语句会在内存的两个地方存储值10.改变y的值不会影响x. 如果已经定义了一个类Test,Test是一个引用类型,有一个int类型的成员变量value,执行完如下代码后,只有一个Test对象.x和…
SpringBoot学习笔记(14):使用SpringBootAdmin管理监控你的应用 Spring Boot Admin是一个管理和监控Spring Boot应用程序的应用程序.本文参考文档: 官方文档:http://codecentric.github.io/spring-boot-admin/1.5.6 GITHUB仓库:https://github.com/codecentric/spring-boot-admin 纯洁的微笑:http://www.ityouknow.com/spri…
SpringBoot学习笔记(3):静态资源处理 在web开发中,静态资源的访问是必不可少的,如:Html.图片.js.css 等资源的访问. Spring Boot 对静态资源访问提供了很好的支持,基本使用默认配置就能满足开发需求. 本文转自互联网,仅供学习参考!原文链接 一.默认静态资源映射 Spring Boot 对静态资源映射提供了默认配置Spring Boot 默认将 /** 所有访问映射到以下目录: classpath:/static classpath:/public classp…
SpringBoot学习笔记(2):用Spring Security来保护你的应用 快速开始 本指南将引导您完成使用受Spring Security保护的资源创建简单Web应用程序的过程. 参考资料: SpringSecurity中文参考文档:点击进入 IBM参考文档:点击进入 使用Maven进行构建 首先,设置一个基本的构建脚本.在使用Spring构建应用程序时,您可以使用任何您喜欢的构建系统,但此处包含了使用Maven所需的代码.如果您不熟悉Maven,请参阅使用Maven构建Java项目.…
SpringBoot学习笔记(4):与前端交互的日期格式 后端模型Date字段解析String 我们从前端传回来表单的数据,当涉及时间.日期等值时,后端的模型需将其转换为对应的Date类型等. 我们可以使用DateTimeFormat注解,在对应模型的字段上标注: public class MyModel{ @DateTimeFormat(pattern = "yyyy-MM-dd") private Datebegin_date; ... } 返回数据Date字段格式化 当我们查出来…
SpringBoot:学习笔记(4)——添加自定义的过滤器 引入自定义过滤器 SpringBoot提供的前端控制器无法满足我们产品的需求时,我们需要添加自定义的过滤器. SpringBoot添加过滤器的注解方式 1.编写过滤器代码 package com.mrsaber.security; import org.springframework.core.annotation.Order; import javax.servlet.*; import javax.servlet.annotatio…
SpringBoot学习笔记(13):日志框架——SL4J 快速开始 说明 SpringBoot底层选用SLF4J和LogBack日志框架. SLF4J的使用 SpringBoot的底层依赖关系 1.SpringBoot底层使用Slf4j+LogBack的方式进行日志记录. 2.SpringBoot将其他日志框架替换成了SLF4J. 如果我们要引入其他框架,一定要把这个框架的默认日志依赖移除掉! 比如SpringBoot基于Spring实现,但是将Spring的默认日志框架移除了. <depen…
SpringBoot学习笔记(12):计划任务 计划任务 在企业的实践生产中,可能需要使用一些定时任务,如月末.季末和年末需要统计各种各样的报表,每周自动备份数据等. 在Spring中使用定时任务 1.加入@EnableScheduling注解,以启用定时任务机制 @EnableScheduling @SpringBootApplication public class Application { public static void main(String[] args) { SpringAp…
SpringBoot学习笔记(11):使用WebSocket构建交互式Web应用程序 快速开始 本指南将引导您完成创建“hello world”应用程序的过程,该应用程序在浏览器和服务器之间来回发送消息. WebSocket是一个非常薄,轻量级的TCP层.它使得非常适合使用“子协议”来嵌入消息.在本指南中,我们将深入研究并使用Spring的STOMP消息来创建交互式Web应用程序. 我们将建立一个服务用来接收一个携有用户名称的消息,然后作为回应,推送一个问候语到客户订阅的队列中. 本节内容的思维…
SpringBoot学习笔记(10):使用MongoDB来访问数据 快速开始 本指南将引导您完成使用Spring Data MongoDB构建应用程序的过程,该应用程序将数据存储在MongoDB(基于文档的数据库)中并从中检索数据.关于MongoDB的相关教程可以参考其官方文档或者笔者的相关教程,我们主要探讨在SpringBoot中快速开始MongoDB数据库服务的相关操作. 本节内容的思维导图大致如下: 参考教程: https://spring.io/guides/gs/accessing-d…
SpringBoot学习笔记(1):配置Mybatis 反思:如果自己写的笔记自己都看不懂,那就不要拿出来丢人现眼! IDEA插件 Free MyBatis Plugin插件可以让我们的MyBatis开发更加便捷. XML版本配置 我们在开发Mapper时可以将SQL语句放到XML中编写,来实现一些更复杂的操作,如动态SQL.结果集映射等. 配置XML路径 我们首先需要在SpringBoot的配置文件中配置一些属性,首先是XML文件的位置: mybatis.mapper-locations=cl…
SpringBoot学习笔记(8):事物处理 快速入门 在传统的JDBC事务代码开发过程中,业务代码只有一部分,大部分都是与JDBC有关的功能代码,比如数据库的获取与关闭以及事务的提交与回滚.大量的try..catch..finally语句. Spring Boot利用AOP为我们提供了一个数据库事务的约定流程.通过这个约定流程就可以减少大量的冗余代码和一些没必要的异常捕获语句,让开发者更加集中于业务的开发,而不是反复编写如数据库的获取与关闭以及事务的提交与回滚.大量的try..catch..f…
springboot 学习笔记(二) 快速创建一个springboot工程,并引入所需要的依赖 1.利用Spring initializr 来创建一个springboot项目,登陆http://start.spring.io/,看到如下界面 2.根据需要选择是maven或gradel,选择springboot版本时不建议选择snapshot版本,要选择稳定的发行版本,然后填写我们的项目包名.项目名称:group  artifact ,选择需要的依赖包,web项目常用的有  web.mybatis…
MAVEN学习笔记之基础(1) 0.0 maven文件结构 pom.xml src main java package resource test java package resource target classes 1.0 Maven概览 1.1--MMVN命令 mvn compile 编译 mvn package 打包框架 mvn clean 文件夹清空 mvn test 测试操作 mvn install 把架包放在本地仓库中 默认文档地址.m2 1.1 MVN工具 mvn archet…
mybatis学习笔记之基础复习(3) mybatis是什么? mybatis是一个持久层框架,mybatis是一个不完全的ORM框架.sql语句需要程序员自己编写, 但是mybatis也是有映射(输入参数映射.输出结果映射) mybatis入门门槛不高,学习成本低,让程序员把精力放在sql语句上,对sql语句优化非常方便, 适用于需求变化较多项目,比如互联网项目. mybatis框架执行过程: 1.配置mybatis的配置文件,SqlMapConfig.xml(名称不固定) 2.通过配置文件,…
mybatis学习笔记之基础框架(2) mybatis是一个持久层的框架,是apache下的顶级项目. mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成满足sql语句 mybatis可将向prparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象.(输出映射) SqlMapConfig.xml(是mybatis的全局配置文件,名称不固定) 配置了数据源/事务等mybatis运行环境 配置映射文件(配置sql语句) m…
Java学习笔记之---基础语法 一. Java中的命名规范 (一)包名 由多个单词组成时,所有字母小写(例如:onetwo) (二)类名和接口 由多个单词组成时,所有单词首字母大写(例如:OneTwo) (三)变量名和函数名 由多个单词组成时,第一个单词首字母小写,其他单词首字母大写(例如:oneTwo) (四)常量名 由多个单词组成时,所有字母均大写,并且单词间用_连接(例如:ONE_TWO) 二. 标识符 可以由26个英文字母,数字,_和$组成 标识符大小写敏感 不能以数字开头 可以为任意…
Quartz学习笔记:基础知识 引入Quartz 关于任务调度 关于任务调度,Java.util.Timer是最简单的一种实现任务调度的方法,简单的使用如下: import java.util.Timer; import java.util.TimerTask; public class TimerTest { public static void main(String[] args) { Timer timer = new Timer(); long delay = 1000; //延时多少…
SpringBoot学习笔记:Swagger实现文档管理 Swagger Swagger是一个规范且完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.Swagger的目标是对REST API定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码.文档或网络流量监测就可以发现和理解服务的能力. 集成Swagger管理API文档 项目中集成Swagger 首先是添加swagger的依赖: <!--swagger-spring-boot-starter --> <…
SpringBoot学习笔记:Redis缓存 关于Redis Redis是一个使用ANSI C语言编写的免费开源.支持网络.可基于内存亦可以持久化的日志型.键值数据库.其支持多种存储类型,包括String(字符串).List(链表).Set(集合).有序集合.Hash(哈希类型). 用Redistemplate操作Redis 在Java中操作Redis可以使用Jedis.Spring Data Redis是基于Redis来实现的,它在Jedis上面封装了一层,让我们操作Redis更加简单. 连接…
SpringBoot学习笔记:读取配置文件 配置文件 在以往的项目中,我们主要通过XML文件进行框架配置,业务的相关配置会放在属性文件中,然后通过一个属性读取的工具类来读取配置信息.在SpringBoot中,我们只需要将配置放在application.properties中,然后用以下的三种方式即可轻松读取. 需要注意的是,在application.properties中,所有的配置都是以key=value的形式定义的,如下 server.port=9090 server.servlet.con…
SpringBoot学习笔记:自定义拦截器 快速开始 拦截器类似于过滤器,但是拦截器提供更精细的的控制能力,它可以在一个请求过程中的两个节点进行拦截: 在请求发送到Controller之前 在响应发送到Client之前 例如,你可以使用拦截器在将请求发送到控制器之前添加请求头,并在将响应发送到客户端之前添加响应标头. 创建拦截器 创建一个拦截器,需要实现HandlerInterceptor接口,他有三个方法来完成拦截 preHandle(): 用于在将请求发送到控制器之前执行操作.此方法应返回t…