Spring注解驱动(上)】的更多相关文章

记录常用的spring注解 1.@Configuration 和 @Bean spring中可以使用xml 的方式进行配置, 也可以使用 @ Configuration 来指定一个类为配置类, 并使用 @Bean 来对spring容器进行注入.方法名即是id @Configuration //声明这个类为配置类 public class MainConfig { //给容器中注册一个Bean;类型为返回值的类型,id默认是用方法名作为id @Bean("person") public…
写在前面 在实际项目中,我们更多的是使用Spring的包扫描功能对项目中的包进行扫描,凡是在指定的包或子包中的类上标注了@Repository.@Service.@Controller.@Component注解的类都会被扫描到,并将这个类注入到Spring容器中.Spring包扫描功能可以使用XML文件进行配置,也可以直接使用@ComponentScan注解进行设置,使用@ComponentScan注解进行设置比使用XML文件配置要简单的多. 项目工程源码已经提交到GitHub:https://…
写在前面 Spring的强大之处不仅仅是提供了IOC容器,能够通过过滤规则指定排除和只包含哪些组件,它还能够通过自定义TypeFilter来指定过滤规则.如果Spring内置的过滤规则不能够满足我们的需求,那么我们就可以通过自定义TypeFilter来实现我们自己的过滤规则. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation FilterType中常用的规则 在使用@ComponentScan注解实现包扫描时,我…
写在前面 Spring容器中的组件默认是单例的,在Spring启动时就会实例化并初始化这些对象,将其放到Spring容器中,之后,每次获取对象时,直接从Spring容器中获取,而不再创建对象.如果每次从Spring容器中获取对象时,都要创建一个新的实例对象,该如何处理呢?此时就需要使用@Scope注解设置组件的作用域. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation 本文内容概览 @Scope注解概述 单实例b…
写在前面 Spring在启动时,默认会将单实例bean进行实例化,并加载到Spring容器中.也就是说,单实例bean默认在Spring容器启动的时候创建对象,并将对象加载到Spring容器中.如果我们需要对某个bean进行延迟加载,我们该如何处理呢?此时,就需要使用到@Lazy注解了. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation 懒加载 懒加载就是Spring容器启动的时候,先不创建对象,在第一次使用(获…
写在前面 我们可以将一些bean组件交由Spring管理,并且Spring支持单实例bean和多实例bean.我们自己写的类,可以通过包扫描+标注注解(@Controller.@Servcie.@Repository.@Component)的形式将其注册到IOC容器中,如果不是我们自己写的类,比如,我们在项目中引入了一些第三方的类库,此时,我们需要将这些第三方类库中的类注册到Spring容器中,该怎么办呢?此时,我们就可以使用@Bean和@Import注解将这些类快速的导入Spring容器中.接…
写在前面 在上一篇关于Spring的@Import注解的文章<[Spring注解驱动开发]使用@Import注解给容器中快速导入一个组件>中,我们简单介绍了如何使用@Import注解给容器中快速导入一个组件,而我们知道,@Import注解总共包含三种使用方法,分别为:直接填class数组方式:ImportSelector方法(重点):ImportBeanDefinitionRegistrar方式.那么,今天,我们就一起来学习关于@Import注解非常重要的第二种方式:ImportSelecto…
写在前面 最近,一位读者出去面试前准备了很久,信心满满的去面试.没想到面试官的一个问题把他难住了.面试官的问题是这样的:如何使用Spring将Service注入到Servlet中呢?这位读者平时也是很努力的,看什么源码啊.多线程啊.高并发啊.设计模式啊等等.没想到却在一个很简单的问题上栽了跟头,这就说明学习知识要系统化,要有条理,切忌东学一点,西记一点,否则,到头来,啥也学不到. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-an…
写在前面 在前面的文章中,我们学习了如何使用@Import注解向Spring容器中导入bean,可以使用@Import注解快速向容器中导入bean,小伙伴们可以参见<[Spring注解驱动开发]使用@Import注解给容器中快速导入一个组件>.可以在@Import注解中使用ImportSelector接口导入bean,小伙伴们可以参见<[Spring注解驱动开发]在@Import注解中使用ImportSelector接口导入bean>一文.今天,我们就来说说,如何在@Import注…
写在前面 在[String注解驱动开发专题]中,前面的文章我们主要讲了有关于如何向Spring容器中注册bean的知识,大家可以到[String注解驱动开发专题]中系统学习.接下来,我们继续肝Spring,只不过从本篇文章开始,我们就进入Spring容器中有关Bean的生命周期的学习. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation Bean的生命周期 通常意义上讲的bean的名称周期,指的是bean从创建到初…