spring框架

spring boot—默认日志框架配置

自作多情 提交于 2020-02-28 03:36:00
文章目录 默认日志框架--配置全解 日志格式 日志级别 日志输出到控制台 日志输出到文件 spring boot2.2.4官方文档 默认日志框架–配置全解 #日志记录 logging : #日志级别 level : #可以调整不同目录的日志级别(注意:必须指定包,否则报错) root : info com.cd.example.one : trace com.cd.example.two : debug com.cd.example.three : info #日志文件 file : #日志文件完整路径(包含日志文件名) name : D : \idea\logs\example - loggin.log #日志文件目录路径(spring boot默认使用spring.log作为日志文件) #path: D:\idea\log #文件大小(默认10MB) max-size : 10MB #文件保存周期(默认7天,七天之后就会删除) max-history : 7 #日志输出格式 pattern : #在控制台输出的日志格式 console : - %d { yyyy - MM - dd HH : mm : ss } - %clr(% - 5level) - [ %thread ] - %logger { 50 } - - %clr(%msg) %n #在文件输出的日志格式 file

【SSM框架系列】Spring - JdbcTemplate&声明式事务

你离开我真会死。 提交于 2020-02-28 01:23:14
JdbcTemplate概述 以往使用jdbc时,每次都需要自己获取PreparedStatement,执行sql语句,关闭连接等操作。操作麻烦冗余,影响编码的效率。 Spring把对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate(jdbc模板)之中,这样我们只需要做一些简单的操作(eg:编写SQL语句、传递参数)就可以了。 spring框架根据不同持久层方案为我们提供了不同的JdbcTemplate(jdbc模板类)。例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nosql数据库的RedisTemplate,操作消息队列的JmsTemplate等等 QuickStart 导入spring-jdbc和spring-tx坐标 < dependencies > <!-- Spring上下文坐标,如果使用到了Spring的上下文容器,需要导入--> < dependency > < groupId > org.springframework </ groupId > < artifactId > spring-context </ artifactId > < version > 5.0.5.RELEASE </ version > </ dependency >

Spring Boot 框架学习(一)

血红的双手。 提交于 2020-02-28 00:50:02
Spring Boot 框架学习(一) 1.Springboot介绍 Spring boot是由Pivotal团队提供的框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,创建出独立运行和产品级别的基于spring框架的应用。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,大大提升使用spring框架时的开发效率。 Spring boot 包含如下特性: 可以将应用打包成独立可运行的JAR或WAR,使用 java -jar 命令来启动应用 内嵌 Tomcat或者Jetty服务器,无需独立的应用服务器 提供基础的POM文件来简化 Apache Maven配置 根据项目依赖自动配置。 没有Java Config代码和XML配置文件 2.创建Spring Boot项目 打开IDEA 新建项目 选择Spring Initializr 之后点击Next 输入Group和Artifact名称(如有需要可自行修改相关参数) 点击Next (可根据自己需要配置)个人习惯什么都不选 输入项目名称和项目路径 点击finish 自动创建项目 因为是Maven工程,需要配置settings.xml,我这里用的是阿里云镜像。 在idea–settings找到Maven,自行配置相关文件参数 之后可以重新导入依赖。点击项目名称选择Maven

从Spring Controller下载文件

笑着哭i 提交于 2020-02-27 20:03:41
我有一个需要从网站下载PDF的要求。 PDF需要在代码中生成,我认为这将是freemarker和iText等PDF生成框架的结合。 还有更好的方法吗? 但是,我的主要问题是如何允许用户通过Spring Controller下载文件? #1楼 通过使用Spring的ResourceHttpMessageConverter中的内置支持,我能够简化这一过程。 如果可以确定mime类型,则将设置content-length和content-type @RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET) @ResponseBody public FileSystemResource getFile(@PathVariable("file_name") String fileName) { return new FileSystemResource(myService.getFileFor(fileName)); } #2楼 在Spring 3.0中,您可以使用 HttpEntity 返回对象。 如果使用此选项,则您的控制器不需要 HttpServletResponse 对象,因此测试起来更容易。 除此之外,这个答案相对于Infeligo之一 。 如果您的pdf框架的返回值是一个字节数组

spring boot—自定义日志配置

隐身守侯 提交于 2020-02-27 20:01:34
自定义日志配置 spring boot2.2.4官方文档 logback中文文档    1)spring boot可以适应所有日志框架,只需在类路径下包含相应的依赖来激活各种日志系统。    2)spring boot底层使用slf4j + logback框架来实现日志记录,所以如果想要自定义logback配置,就无需添加相关依赖了(spring-booot-stater中已包含相关依赖)    3)在类路径下放置自定义日志配置文件(xml配置文件),spring boot就不会使用它本身的默认日志配置了    4)上图是spring boot官方文档的提示内容,意思是:根据您的日志记录系统,将加载相应的文件使用。即如果我们使用logback日志框架,那么可以使用 logback-spring.xml 、 logback-spring.groovy 、 logback.xml 、 logback.groovy 之一作为配置文件来加载。    5)spring boot官方建议使用 logback-spring.xml 作为logback框架的日志配置文件(例如:使用 logback-spring.xml 而不是 logback.xml ),因为带 -spring 后缀的配置文件可以使用spring boot提供的一些高级功能,如profile多环境日志输出 <

Spring Boot与Kubernetes云原生微服务实践

雨燕双飞 提交于 2020-02-27 12:34:04
课程目录: 01、课程介绍 02、背景说明 03、课程目标和主要内容 04、课程案例需求 05、课程补充说明 06、为何采用微服务架构? 07、架构设计和技术栈选型 08、数据和接口模型设计:账户服务 09、数据和接口模型设计:业务服务 10、Dubbo、SpringCloud和Kubernetes该如何选型(上) 11、Dubbo、SpringCloud和Kubernetes该如何选型(中) 12、Dubbo、SpringCloud和Kubernetes该如何选型(下) 13、技术中台到底讲什么? 14、Staffjoy项目结构组织 15、谷歌为何采用单体仓库(Mono、Repo)? 16、微服务接口参数校验为何重要? 17、如何实现统一异常处理? 18、DTO和DMO为什么要互转? 19、如何实现基于Feign的强类型接口? 20、为什么框架层就要考虑分环境配置? 21、异步处理为何要复制线程上下文信息? 22、为你的接口添加Swagger文档 23、主流微服务框架概览 24、网关和BFF是如何演化出来的(上) 25、网关和BFF是如何演化出来的(下) 26、网关和反向代理是什么关系? 27、网关需要分集群部署吗? 28、如何设计一个最简网关? 29、Faraday网关代码解析(上) 30、Faraday网关代码解析(下) 31、生产级网关需要考虑哪些环节? 32

3.01、Spring AOP的理解

余生长醉 提交于 2020-02-27 12:20:49
注:转 https://mp.weixin.qq.com/s/PsgTLn8cdTxdd542XgVkUA 什么是AOP AOP(Aspect-Oriented Programming), 即 面向切面编程 , 它与 OOP( Object-Oriented Programming, 面向对象编程) 相辅相成, 提供了与 OOP 不同的抽象软件结构的视角. 在 OOP 中, 我们以类(class)作为我们的基本单元, 而 AOP 中的基本单元是 Aspect(切面) 1、Aspect(切面) Aspect 由 pointcount 和 advice 组成, 它既包含了横切逻辑的定义, 也包括了连接点的定义. Spring AOP就是负责实施切面的框架, 它将切面所定义的横切逻辑织入到切面所指定的连接点中. AOP的工作重心在于如何将增强织入目标对象的连接点上, 这里包含两个工作: 1. 如何通过 pointcut 和 advice 定位到特定的 joinpoint 上 2. 如何在 advice 中编写切面代码. 可以简单地认为, 使用 @Aspect 注解的类就是切面. 2、Advice(增强) 由 aspect 添加到特定的 join point(即满足 point cut 规则的 join point) 的一段代码. 许多 AOP框架, 包括 Spring AOP, 会将

Listener 监听器

浪尽此生 提交于 2020-02-27 09:04:39
1、Listener的定义与作用   监听器Listener就是在application,session,request三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。   Listener是Servlet的监听器,可以监听客户端的请求,服务端的操作等。 2、Listener的分类与使用   主要有以下三类:    1、ServletContext监听   ServletContextListener:用于对Servlet整个上下文进行监听(创建、销毁)。 public void contextInitialized(ServletContextEvent sce);//上下文初始化 public void contextDestroyed(ServletContextEvent sce);//上下文销毁 public ServletContext getServletContext();//ServletContextEvent事件:取得一个ServletContext(application)对象   ServletContextAttributeListener:对Servlet上下文属性的监听(增删改属性)。 public void attributeAdded(ServletContextAttributeEvent scab);//增加属性

Maven+SSM框架(Spring+SpringMVC+MyBatis)(二)

放肆的年华 提交于 2020-02-27 08:59:29
1.基本概念 2.开发环境搭建 3.Maven Web项目创建 4.SSM整合 此次整合我分两个配置文件:   1)分别是spring-mybatis.xml,包含spring和mybatis的配置文件,   2)还有个是spring-mvc的配置文件,   3)此外有2个资源文件:jdbc.propertis和log4j.properties 以下是框架版本及来源 :   Spring 4.0.2 RELEASE(PS:无需手动下载,Maven会自动下)   Spring MVC 4.0.2 RELEASE(PS:无需手动下载,Maven会自动下)   MyBatis 3.2.6 *打开 xml 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Xml > Xml Files > Editor > Content Assist > Auto activation > Prompt when these characters are inserted,设置框中默认是 <=: ,改成<=:qwertyuioplkjhgfdsazxcvbnm就ok了。 下面是项目完整结构,先有个印象 : 4.1 Maven引入需要的jar包 为了方便后面说的时候不需要引入JAR包,我这里直接给出所有需要的JAR包,这都是基本的JAR包

Spring5学习(六)Spring 事务

家住魔仙堡 提交于 2020-02-27 08:27:11
Spring 事务 1. 事务 事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。 事务是恢复和 并发控制 的基本单位。 2. 为什么要事务 事务是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问。 3. 事务的4个特性(ACID) 事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID特性 。 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。 持久性(durability)。指一个事务一旦提交