《Java EE 开发的颠覆者:Spring Boot实战》读书笔记

原创 2017年06月27日 17:19:46

《Java EE 开发的颠覆者:Spring Boot实战》

第一章

1.Spring发展阶段

  • xml配置;
  • 注解配置(应用的基本配置,如数据库配置采用xml文件,业务配置有注解);
  • java配置。

2.每一个被Spring管理的java对象都称之为bean;spring提供一个IoC容器用来初始化对象,解决对象之间的依赖管理和对象的使用。

3.Spring-Context:运行时的Spring容器。

4.Spring生态:

  • spring boot
  • spring XD
  • spring cload
  • spring data
  • spring integration
  • spring batch
  • spring security
  • spring HATEOAS
  • spring social
  • spring AMQP
  • spring mobile
  • spring for android
  • spring web flow
  • spring web services
  • spring LDAP
  • spring session

5.安装jar包到本地repository:

mvn install:install-file -DgroupId=com.oracle "-DartifactId=ojdbc14" "-Dversion=" "-Dpackaging=jar" "-Dfile=D:\*.jar"

6.Spring框架四大原则:

  • 使用POJO进行轻量级和最小侵入式开发;
  • 通过依赖注入和基于接口编程实现松耦合;
  • 通过AOP和默认习惯进行声明式编程;
  • 使用AOP和模版减少模式化代码。

7.IoC和DI在Spring下是等同的概念,IoC是通过DI来实现的。DI,即容器负责创建对象和维护对象间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖;目的是解耦,有“组合”的意味;IoC容器(SpringContext)负责创建bean。

推荐两者混用,一个较好的原则:全局配置使用java config(如数据库相关,MVC相关配置),业务bean的配置使用注解(@Service,@Component,@Controllor,@Repository)。java config实现方式:@Bean和@Configuration。

AOP,目的解耦,可以让一组类共享相同的行为;

8.注解本身没有功能,和xml类似,都是元数据(解释数据的数据,即配置);元注解:可以注解到别的注解上的注解,被注解的注解称之为组合注解。

第二章

9.Bean的scope:

  • Singleton;
  • Prototype;
  • Request;
  • Session;
  • GlobalSession;
  • StepScope(Spring batch)。

10.注解@Value的参数中使用表达式:注入普通字符;操作系统属性;表达式运算结果;其他bean的属性;文件内容;网址内容;属性文件。

11.bean的生命周期:
- java config:使用@bean的initMethod和destoryMethod
- xml:配置文件里面的init-method和destory-method
- 注解:@PostConstruct和@PreDestroy

事件流程:
1.自定义事件继承ApplicationEvent;
2.自定义事件监听器,实现ApplicationListener;
3.使用容器发布事件。

第三章

实际任务多是非阻碍,即异步;在配置类使用注解@EnableAsync开启对异步任务的支持。

@Scheduled支持多种类型的计划任务:cron、fixDay、fixDate.

条件注解:实现Condition接口,重写match方法来构造判断条件。@conditional根据满足某一个特定的条件来创建特定的bean

第四章

SSH=Structs 1.x+Spring+Hibernate;
zetoturnaround,Jrebel厂商;
MVC: Model+View+Controller;

三层架构:Presentation tier+Application tier+Data tier(展现层+应用层+数据访问层)

两者的关系:MVC只存在三层架构的展现层,M实际上是数据模型,是包含数据的对象。spring MVC里,有一个类Model,用来和V之间的数据交互、传值;V是视图页面,包含JSP、FreeMarker、Velocity、Thymeleaf、Tile等;C是控制器(@Controller)。

服务端推送技术:Ajax是服务器轮询技术,使浏览器尽可能第一时间获得服务端的消息,轮询频率不好控制,加大服务端的压力;WebSocket双向通信技术;

jQuery的Ajax请求,没有浏览器兼容性问题;媒体类型text/event-stream,服务端SSE的支持;

<scope>test</scope>,存活期是test周期,发布时将不包含这些jar。

第五章

Spring boot提供基于http、ssh、telnet对运行时的项目进行监控;
spring-boot-devtools来进行开发热部署;
使用在线spring网站http://start.spring.io快速开发应用;
Spring Boot提供的控制台命令工具Spring Boot CLI, 下载并解压, 将CLI的bin目录配置到环境变量的path下面,即可使用:
spring init –build=maven –java-version=1.8 –dependencies=web –packaging=jar –boot-version=1.5.4 –groupId=com.johnny –artifactId=springboot_cli

第六章

关闭特定的自动配置使用@SpringBootApplication注解的exclude参数:
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

自定义banner, http://patorjk.com/software/taag

不推荐使用xml配置文件,但是提供注解@ImportResource来加载xml配置:
@ImportResource({"classpath:some-context.xml", "classpath:another-context.xml"})

常规Spring坏境下,注入properties文件里面的值的方式:通过@PropertySource指明properties文件位置,然后通过@value注入之;
Spring Boot坏境下,在application.properties/application.yaml文件里面定义key-value,直接使用@Value注入即可。

默认情况下, Spring Boot使用logback作为日志框架。(version 1.3.0)

第七章

附录A

JHipster是一个代码生成器,可以用来生成基于sb和AngularJS的项目:安装Node.js, git, Yeoman generator, JHipster, Bower, Grunt, 命令:yo jhipster

史上最简单的 SpringCloud 教程 | 终章

错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船...
  • forezp
  • forezp
  • 2017年04月12日 23:14
  • 425490

springload热部署Java Application项目

对于运维人员来说,热部署是常常要思考的一个问题。热部署简单来说,就是局部或者某个文件修改后,不用重新启动程序,立即生效。 好处在于在程序初始化的时候可能会加载大量的初始化数据,重启程序成本太高;程序如...
  • waysoflife
  • waysoflife
  • 2015年05月20日 13:30
  • 2646

Spring MVC学习笔记:web.xml中load-on-startup的作用

如下一段配置,熟悉DWR的再熟悉不过了:    dwr-invoker    org.directwebremoting.servlet.DwrServlet        debug ...
  • qq_15265667
  • qq_15265667
  • 2015年08月28日 14:48
  • 2585

SpringBoot学习-第一章 新的Spring基础-<Spring Boot 实战>

Spring Boot学习,熟悉注解和Java式的配置。 Spring配置方式 配置文件xml(Spring 1.x) 》》 注解@annotation(Spring 2.x+Jdk1.5)》》 J...
  • u011858405
  • u011858405
  • 2017年02月14日 17:33
  • 229

《javaEE 开发的颠覆者,Spring boot实战》

本书简介 1 推荐使用@configuration @bean 的Java配置来替代xml。 2 习惯优于配置的原则。快速搭建项目 3 在第一部分,介绍了快速Spring4.x各个知识点:基础配...
  • a314773862
  • a314773862
  • 2017年10月22日 21:04
  • 710

spring加载过程

这几天在看spring的源码,涉及到spring启动位置的部分,下面就看看spring到底是从哪儿开始加载的。本文使用的是spring3.0M3 首先spring的加载会借助一个监听器Cont...
  • zkn_CS_DN_2013
  • zkn_CS_DN_2013
  • 2013年11月12日 13:33
  • 807

loadrun

  • 2008年06月17日 16:14
  • 1.39MB
  • 下载

JavaEE颠覆者:spring-boot实战随书源码

在当今Java EE 开发中,Spring 框架是当之无愧的王者。而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变...
  • lice1010
  • lice1010
  • 2017年12月19日 13:42
  • 142

J2EE开发的颠覆者SpringBoot快速入门!

使用“约定优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servl...
  • z_565282532
  • z_565282532
  • 2017年11月01日 18:15
  • 513

http_load( 压力测试)

  • 2011年04月07日 12:33
  • 17KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《Java EE 开发的颠覆者:Spring Boot实战》读书笔记
举报原因:
原因补充:

(最多只允许输入30个字)