1 @Value 赋值和 @PropertySource 加载属性文件
@Value
注解的唯一属性value
用来赋值。
@PropertySource
注解用来加载属性文件。使用${}
可以取出配置文件里的值。
Later equals never
@Value
注解的唯一属性value
用来赋值。
@PropertySource
注解用来加载属性文件。使用${}
可以取出配置文件里的值。
Bean的生命周期:创建 -> 初始化 -> 销毁 的过程。Bean的生命周期由Spring 容器管理 。我们可以自定义Bean的初始化和销毁方法,容器在Bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。
Bean创建:Bean创建的时候,单实例Bean是在容器启动的时候创建,多实例Bean是在每次获取的时候创建对象。
Bean初始化:对象创建完成,并赋值好后,调用初始化方法。
Bean销毁:单实例Bean是在Spring容器关闭的时候调用销毁的方法。多实例Bean,Spring容器是不会调用销毁方法。我们可以手动调用销毁方法。
在我们使用传统的 Spring MVC + Spring + Mybatis 整合开发时,通常采用的是使用xml配置 + Java注解混合式的开发,即跟业务相关的使用Java注解,配置相关的使用xml文件。这就造成了我们需要写大量的xml配置代码。
在微服务兴起后,Spring Boot 和 Spring Cloud 等微服务框架都摒弃了xml配置文件的配置方式,大量使用Java注解来进行开发。
Spring 注解驱动开发分为Spring 容器相关,Spring 原理,Spring MVC。
首先从Spring容器说起,Spring容器的两个重要概念就是控制反转和依赖注入。Spring将所有的组件都放在了容器中,组件中的关系通过容器来进行自动装配。那如何使用注解的形式进行容器的注入和自动装配?
Java8包含了全新的时间日期API,这些功能都放在了java.time
包下。这套全新的时间日期API是不可变且线程安全的(This class is immutable and thread-safe)。
在Java8之前,接口中可以包含的成员有:抽象方法和常量。抽象方法的默认修饰是public abstract
。常量的默认修饰是public static final
。并且这些默认修饰符是可以省略不写的。
在Java8中接口可以包含具有具体实现的方法。有默认方法和静态方法两种。
Optional<T>
类是一个容器类,代表一个值存在或者不存在。原来用null表示一个值不存在,现在Optional
可以更好的表达这个概念。并且可以避免空指针异常。
容器类是用来封装对象的。泛型T就是需要封装的类。
Java8的Stream与
java.io
包中的InputStream
和OutputStream
是完全不同的概念。它是对集合对象功能的增强。
Stream是对数据的操作,对数据操作需要有数据源(集合、数组),把对数据源的操作想象成对数据的传输,在传输中对数据源做一系列流水线式的中间操作。做完这些操作后,会产生一个新流,原来的数据源是不会发生改变的。
流(Stream)是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。
集合讲的是数据,流讲的是计算。
注意:
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.