在学习<spring boot>一书的过程中,由于原书作者难免有一些遗漏的的地方,或者系统.软件版本不一致.框架更新等各种因素,完全安装书中源码页不能实现项目的正常启动 在8.2章节,演示JPA对oracle的支持时,配置文件中设置了如下代码,正常情况下应该支持数据库自动创建序列和表,但实际启动时却报错“ORA-00942: 表或视图不存在 ” spring.datasource.driverClassName=oracle.jdbc.OracleDriver spring.datasourc…
个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念,请先移步上一篇文章 Spring Boot 学习.本篇原本是为了深入了解下Spring Boot而出现的. 另外,Spring Boot 仍然是基于Spring的,建议在赶完工之后深入学习下Spring,有兴趣可以看看我的 Spring 4 官方文档学习(十一)Web MVC 框架 .欢迎探讨,笑~…
个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念,请先移步上一篇文章 Spring Boot 学习.本篇原本是为了深入了解下Spring Boot而出现的. 另外,Spring Boot 仍然是基于Spring的,建议在赶完工之后深入学习下Spring,有兴趣可以看看我的 Spring 4 官方文档学习(十一)Web MVC 框架 .欢迎探讨,笑~…
9."使用方法"指南 9.1.Spring Boot应用程序 9.1.1.创建自己的FailureAnalyzer FailureAnalyzer被包装在FailureAnalysis中,可以在启动时拦截异常并将其转换为易于阅读的消息.Spring Boot为与应用程序上下文相关的异常,JSR-303验证等提供了此类分析器.您也可以创建自己的. AbstractFailureAnalyzer是一个方便的FailureAnalyzer扩展,它检查要处理的异常中是否存在指定的异常类型.您可…
http://blog.csdn.net/hy245120020/article/details/78065676 ************************************************************ spring boot guava cache 缓存学习 自定义key 自定义全局key过期时间,缓存个数 针对单个key自定义过期时间,缓存个数 引入依赖 <dependency> <groupId>org.springframework.boo…
Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图.尽管我们编写了几个JSP视图但控制器不关心这些. 将控制器请求处理的逻辑和视图中的渲染实现解耦是SpringMVC的一个重要特性.而控制器只通过逻辑视图名来了解视图,这时就需要Spring视图解析器了. SpringMVC定义了一个名为ViewResolver的接口,大致如下所示: public i…
Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那样灵活和松耦合的Web应用程序. Spring MVC起步 跟踪Spring MVC的请求…
Spring实战第四章学习笔记----面向切面的Spring 什么是面向切面的编程 我们把影响应用多处的功能描述为横切关注点.比如安全就是一个横切关注点,应用中许多方法都会涉及安全规则.而切面可以帮我们模块化横切关注点.而当我们要重用通用功能时,最常见的面向编程技术是继承或委托.但当整个应用都用相同的基类继承会导致整个对象体系脆弱,而委托会使调用变复杂.切面则提供了取代继承和委托的另一种方案.在使用面向切面编程时,我们仍然在一个地方定义通用功能,但是可以通过声明的方式定义这个功能要以何种方式在何…
  (转载)Spring Boot + JPA(hibernate 5) 开发时,数据库表名大小写问题   这几天在用spring boot开发项目, 在开发的过程中遇到一个问题hibernate在执行sql时,总会提示表不存在. 寻找之后发现, 建表时,表统一采用了大写.hibernate会把大写统一转换成小写.且 mysql在 linux下 大小写敏感. 解决: 1. 尝试修改mysql的cnf文件,改成不区分大小写.修改完成之后发现问题并没有解决,还产生了新的问题,表名无论大小写都失败了.…
4.2.外部化配置 Spring Boot使您可以外部化配置,以便可以在不同环境中使用相同的应用程序代码.您可以使用Properties文件,YAML文件,环境变量和命令行参数来外部化配置.属性值可以通过@Value注解直接注入到你的bean ,通过Spring Environment抽象的访问,或者通过@ConfigurationProperties绑定到结构化对象. Spring Boot使用一个非常特殊的PropertySource顺序,该顺序旨在允许合理地覆盖值.属性按以下顺序考虑,优先…
5.Spring Boot Actuator:可投入生产的功能 Spring Boot包含许多其他功能,可帮助您在将应用程序投入生产时监控和管理您的应用程序.您可以选择使用HTTP端点或JMX管理和监视您的应用程序.审核,运行状况和指标收集也可以自动应用于您的应用程序. 5.1.启用生产就绪功能 spring-boot-actuator模块提供了Spring Boot生产就绪的所有功能.启用功能的最简单方法是添加依赖项,spring-boot-starter-actuator"启动器"…
spring boot开发,jar包一个一个来启动太麻烦了,写一个bat文件一键启动 @echo offcd D:\workProject\bushustart cmd /c "title EurekaServer- && java -jar EurekaServer-0.0.1-SNAPSHOT.jar"start cmd /c "title busms- && java -jar busms-1.5.9.RELEASE.jar"s…
spring boot 入门 关于版本的选择,spring boot 2.0开始依赖于 Spring Framework 5.1.0,而spring 5.x和之前的版本差距比较大,而且应该来说还没有广泛的使用,所以生产中,一般来说目前还是建议使用spring boot 1.x,目前最新版本是1.5.9,官方手册https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/pdf/spring-boot-reference.pdf.…
9.4.Spring MVC Spring Boot有许多启动器包含Spring MVC.请注意,一些启动器包括对Spring MVC的依赖,而不是直接包含它. 9.4.1.编写JSON REST服务 只要Jackson2在类路径上,Spring Boot应用程序中的任何Spring @RestController默认情况下都应呈现JSON响应,如以下示例所示: @RestController public class MyController { @RequestMapping("/thing…
学习内容相关信息 最新版本:2.2.0 CURRENT GA 官网地址 官方文档地址 单页版文档地址 代码生成网址 2.入门 Spring Boot的主要目标是: 为所有Spring开发提供更快且入门更简单的体验 开箱即用,但随着需求开始分歧,可以快速从默认配置重新开始. 提供一系列大型项目通用的非功能性功能(例如嵌入式服务器,安全性,指标,运行状况检查和外部配置). 完全没有代码生成,也不需要XML配置. Spring Boot 2.2.0.RELEASE需要Java 8,并且与Java 13…
from@https://gitee.com/didispace/SpringBoot-Learning Spring Boot 2.0 新特性学习 简介与概览 Spring Boot 2.0 正式发布,升还是不升呢? Spring Boot 2.0 新特性和发展方向 Spring Boot 2.0 与 Java 9 新特性详解 Spring Boot 2.0 新特性(一):配置绑定 2.0 全解析 Spring Boot 2.0 新特性(二):新增事件ApplicationStartedEve…
因为Spring Boot的项目一般会打包成jar发布, 在开发阶段debug时, 不能像传统的web项目那样, 选择exploded resources进行debug, 也没有热更新按钮, 如果每次一点小改动都要重启项目的话, 会造成极大的时间开销. 以下说明如何在IDEA 14.1.1 里面debug  Spring Boot项目时进行热部署(hot deployment). 在开发中不涉及到class meta data变化的改动, 以及静态资源文件改动, 都可以热部署更新. Spring…
一.SpringApplication banner,就是启动时输出的信息,可以在classpath下添加 banner.txt,或者设置 banner.location 来指向特定的文件.(默认编码utf-8,或者通过banner.charset指定) 除了txt,你还可以使用 banner.gif (jpg / png),或者设定 banner.imgage.location. 下面是默认的banner(忽略吧,没意义的东西):…
默认创建数据表使用的引擎是MyISAM 2018-05-14 14:16:37.283 INFO 7328 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect Hibernate: drop table if exists hua_yang_area Hibernate: drop table if exists mod…
9.11.消息传递 Spring Boot提供了许多包含消息传递的启动器.本部分回答了将消息与Spring Boot一起使用所引起的问题. 9.11.1.禁用事务JMS会话 如果您的JMS代理不支持事务处理会话,则必须完全禁用对事务的支持.如果您创建自己的JmsListenerContainerFactory,则无需做任何事情,因为默认情况下无法进行交易.如果要使用DefaultJmsListenerContainerFactoryConfigurer来重用Spring Boot的默认值,则可以…
9.10.数据库初始化 可以使用不同的方式初始化SQL数据库,具体取决于堆栈是什么.当然,如果数据库是一个单独的进程,您也可以手动执行.建议使用单一机制进行模式生成. 9.10.1.使用JPA初始化数据库 JPA具有用于DDL生成的功能,可以将其设置为在启动时针对数据库运行.这是通过两个外部属性控制的: spring.jpa.generate-ddl (布尔值)打开和关闭该功能,并且与供应商无关. spring.jpa.hibernate.ddl-auto(枚举)是一种Hibernate功能,可…
9.9.数据存取 Spring Boot包含许多用于处理数据源的启动器. 9.9.1.配置自定义数据源 要配置自己的DataSource,请在配置中定义该类型的@Bean.Spring Boot可以在任何需要重用DataSource的地方重复使用,包括数据库初始化.如果需要外部化某些设置,则可以将其绑定DataSource到Environment. 以下示例显示了如何在Bean中定义数据源: @Bean @ConfigurationProperties(prefix="app.datasourc…
3.使用Spring Boot 3.1.构建系统 建议选择Maven或Gradle作为构建工具 每个Spring Boot版本都提供了它所支持的依赖关系的精选列表.实际上,您不需要为构建配置中的所有这些依赖项提供版本,因为Spring Boot会为您管理版本.当您升级Spring Boot本身时,这些依赖项也会以一致的方式升级. Spring Boot的每个发行版都与Spring Framework的基本版本相关联.强烈建议不要指定其版本. 3.1.2.Maven Maven用户可以从sprin…
4. Spring Boot功能 4.1.Spring应用 便捷的启动方式: public static void main(String[] args) { SpringApplication.run(MySpringConfiguration.class, args); } SpingBoot默认日志级别是INFO. 4.1.1.启动失败 启动失败时,FailureAnalyzers会报告错误信息. 4.1.2.延迟初始化(懒加载) SpringApplication允许延迟初始化应用程序.…
4.3.Profiles Spring Profiles提供了一种隔离部分应用程序配置并使之仅在某些环境中可用的方法.任何@Component,@Configuration或@ConfigurationProperties可被标记@Profile,当它被加载时,限制使用. 如果@ConfigurationProperties通过@EnableConfigurationProperties而不是自动扫描来注册bean ,则@Profile需要在@EnableConfigurationPropert…
4.4.日志 Spring Boot使用Commons Logging进行所有内部日志记录,但是使底层日志实现打开状态.为Java Util Logging,Log4J2和Logback提供了默认配置.在每种情况下,记录器都已预先配置为使用控制台输出,同时还提供可选文件输出. 默认情况下,如果使用Starters,则使用Logback进行日志记录.还包括适当的Logback路由,以确保使用Java Util Logging,Commons Logging,Log4J或SLF4J的从属库都可以正常…
4.5.国际化 Spring Boot支持本地化消息,因此您的应用程序可以迎合不同语言首选项的用户.默认情况下,Spring Boot messages在类路径的根目录下查找message resource bundle的存在. 当配置的resource bundle的默认属性文件可用时(即默认为messages.properties),将应用自动配置.如果您的resource bundle仅包含特定于语言的属性文件,则需要添加默认文件.如果找不到与任何配置的基本名称匹配的属性文件,则不会自动配…
4.7.开发Web应用程序 Spring Boot非常适合于Web应用程序开发.您可以使用嵌入式Tomcat,Jetty,Undertow或Netty创建独立的HTTP服务器.大多数Web应用程序都使用该spring-boot-starter-web模块来快速启动和运行.您还可以选择使用spring-boot-starter-webflux模块来构建反应式Web应用程序. 4.7.1.Spring Web MVC框架 在Spring Web MVC框架(通常简称为"Spring MVC"…
4.9.安全 如果Spring Security在类路径上,则默认情况下Web应用程序是采用的.Spring Boot依靠Spring Security的内容协商策略来确定使用httpBasic还是formLogin.要将方法级安全性添加到Web应用程序,您还可以添加@EnableGlobalMethodSecurity所需的设置. 默认的UserDetailsService有一个用户.用户名为user,密码为随机密码,并在应用程序启动时以INFO级别显示,如下例所示: Using genera…
4.10.使用SQL数据库 从使用JdbcTemplate直接的JDBC访问到完整的"对象关系映射"技术(例如Hibernate),Spring框架为使用SQL数据库提供了广泛的支持. Spring Data提供了更高级别的功能:直接从接口创建Repository实现,并使用约定从您的方法名称生成查询. 4.10.1.配置数据源 Java的javax.sql.DataSource接口提供了使用数据库连接的标准方法.传统上,"数据源"使用URL以及一些凭据来建立数据库…