《spring boot 实战》读书笔记

前言:虽然已经用spring boot开发过一套系统,但是之前都是拿来主义,没有系统的,全面的了解过这套框架。现在通过学习《spring boot实战》这本书,希望温故知新。顺便实现自己的spring cloud代码模板和练习Sping cloud 2.0框架的使用

一、spring基础

1.声明Bean的注解:

  @Component:组件,没有明确的角色

  @Service:业务逻辑层使用

  @Respository:dao层使用

  @Controller:表现层使用

2.注入Bean的注解:

  @Autowired:spring提供的注解

  @Inject和@Resource:java标准提供

3.配置类注解:

  @Configuration:声明配置类

  @ComponentScan:扫描指定路径下的Bean

4.java配置:

  @Configuration:声明配置类

  @Bean:注解在方法上,当前方法的返回值,声明为一个bean

5.关于注解配置和java配置:全局配置(如数据库、MVC的相关配置)使用java配置,业务场景下的bean,直接使用注解配置(@Service、@Component...)

6.常见的AOP技术有两个,分别是Filter和代理模式(也可以称为过滤器和拦截器),Filter是基于回调函数(请看《Java回调机制解析》),代理模式是基于Java反射技术,代理模式又分为静态代理和动态代理,动态代理就是拦截器的简单实现。(过滤器和拦截器的区别可参见《过滤器和拦截器的区别》)

7.spring内部提供了Bean之间的消息通信机制:application event

二、spring高级话题

1.

附录:

1.其它注解声明:

  1)事务处理:@Transcational

  2)数据缓存:@Cacheable

  3)APO切面相关:@Aspect、@After、@Before、@Around

  4)创建bean的方式:@Scope,示例@Scope("prototype")表示每次新建都创建一个bean,相当于new一个。@Scope("singleton"),为默认配置,表示每次都是单例的,共享一个实例

  5)注入“值”:@Value,示例:

    @Value("需要赋值的字符串"):直接给变量赋值

    @Value("#{systemProperties[]'os.name'}"):获取操作系统属性

    @Value("classpath:com/.../test.txt"):注入文件资源

    @Value("http://www.baidu.com"):注入网址资源

  6)Bean的初始化和销毁:@Bean(initMethod="init",destroyMethod="destroy")

  7)@Profile("dev"):可以通过spring的profiles.active参数,来实例化不同的bean

  8)

 

猜你喜欢

转载自www.cnblogs.com/xujanus/p/9076922.html