spring 组件注册
一、声明配置类和注册 bean
/**
* 配置类 == applicationContext.xml 配置文件
* @author Administrator
*
*/
//@Configuration 告诉 spring 这是一个配置类
@Configuration
//@ComponentScan:value 配置扫描的包;excludeFilters 按照一定规则排除包;includeFilters 只包含
//excludeFilters = {@Filter(type = FilterType.ANNOTATION,classes={Controller.class})}
@ComponentScan(value = "com.fw",includeFilters = {
@Filter(type = FilterType.ANNOTATION,classes={Controller.class})
},useDefaultFilters = false)
public class MainConfig { @Bean("person") //给容器中注册一个 Bean;类型为返回值的类型,id 默认以方法名作为 id
public Person person(){
return new Person("lisi", 18);
}
}
二、通过配置类创建 spring 容器
@Testpublic void test1(){
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig.class);
Person person = applicationContext.getBean(Person.class);
System.out.println(person);
}
三、@Scope 指定bean的作用域
/**
* @Scope:
* prototype:多实例的:ioc 容器在启动的时候并不会调用方法创建对象,而是每次获取的时候才会去调用方法
* singleton:单实例的:默认值,ioc 容器在启动的时候就会调用这个方法去创建对象,以后每次获取对象直接从容器中拿
*/
@Scope("singleton")
@Bean("person")
public Person person(){
return new Person("lisi", 18);
}
四、@Lazy 懒加载
/**
* @Lazy:懒加载:只针对单实例 @Scope("singleton")
* 单实例的 bean:默认在容器启动的时候创建对象
* 懒加载:容器启动的时候不创建对象.而是在第一次使用(获取)bean 的时候才创建对象,并初始化
*/
//@Scope("singleton")
@Lazy
@Bean("person")
public Person person(){
return new Person("lisi", 18);
}
五、
spring 组件注册的更多相关文章
- spring组件注册
基于注解和类的组件注册 @Conditional 作用:按照一定的条件进行判断,如果满足条件的话就给spring容器中注册bean 该注解既可以标注到方法上面,也可以标注到类上面(只有满足条件时, ...
- 【spring 注解驱动开发】spring组件注册
尚学堂spring 注解驱动开发学习笔记之 - 组件注册 组件注册 1.@Configuration&@Bean给容器中注册组件 2.@ComponentScan-自动扫描组件&指定扫 ...
- Spring 注解原理(一)组件注册
Spring 注解原理(一)组件注册 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) 当我们需要使用 Spring 提供的 ...
- spring注解扫描组件注册
最近对单点系统进行微服务拆分,被各个springboot的组件注册搞得云里雾里的.(有的是通过springboot的自动配置进IOC容器的,有的是自己添加构造方法添加进IOC容器.)决定抽时间将spr ...
- Spring注解开发-全面解析常用注解使用方法之组件注册
目录 1. @Configuration 2. @ComponentScan excludeFilters includeFilters 使用自定义TypeFilter 3. @Bean @Scope ...
- Spring Framework 组件注册 之 @Import
Spring Framework 组件注册 之 @Import 写在前面 向spring中注册组件或者叫javaBean是使用spring的功能的前提条件.而且spring也提供了很多种方式,让我们可 ...
- Spring Framework 组件注册 之 @Component
Spring Framework 组件注册 之 @Component 写在前面 在spring大行其道的今天,对于spring的使用和掌握乃是不可缺少的必备技能.但是spring的整个体系尤为庞大,对 ...
- Spring Framework 组件注册 之 FactoryBean
Spring Framework 组件注册 之 FactoryBean 前言 前两篇文章介绍了如何使用@Component,@Import注解来向spring容器中注册组件(javaBean),本文将 ...
- Spring注解开发系列Ⅰ--- 组件注册(上)
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件 ...
随机推荐
- android中图型的阴影效果(shadow-effect-with-custom-shapes)
思路: 在自己定义shape中添加一层或多层,并错开.就可以显示阴影效果.为添加立体感,button按下的时候,仅仅设置一层.我们能够通过top, bottom, right 和 left 四个參数来 ...
- hdu1829 A Bug's Life(并查集)
开两个并查集.然后合并的时候要合并两次.这样在合并之前推断是否冲突,假设不冲突就进行合并,否则不须要继续合并. #include<cstdio> #include<cstdlib&g ...
- 初识——Vim
有些东西吧,总是碰见,低头不见抬头见,但又不知道是什么.用来干嘛的?总是搞的心里痒痒.所以一定要学习一下. 近期一段时间,总是碰到一个词儿:VIM,在这儿看到了,我不理他,隔一会儿丫的又跑我眼睛里,总 ...
- perl的安装
http://www.activestate.com/activeperl/downloads 安装的时候,默认把perl放置到环境变量的PATH中 之后,需要重启电脑,确保环境变量生效 执行perl ...
- java.lang.RuntimeException: Unable to get provider
java.lang.RuntimeException: Unable to get provider dev.dworks.apps.candidcamera.provider.MediaDocum ...
- Connect the Cities--hdoj
Connect the Cities Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) ...
- [HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...
- python笔记:字符编码
ASCII编码 知识点:计算机中最小的单位是bit,bit就咱们常说一位二进制,一位二进制要么是0 要么是 1.但是bit这个单位太小了,我们用字节(byte)来表示.换算的规则如下: 8b = 1B ...
- Springboot使用AOP实现统一处理Web请求日志
1.要使我们自定义的记录日志能够打印出来,我们需要先排除springboot默认的记录日志,添加如下的设置 2.新建 resources/log4j.properties 我的设置为: # LOG4J ...
- 「Canvas」玩转
作者: 糖少 简介 Canvas是 HTML5 新增的,一个可以使用脚本(通常为JavaScript)在其中绘制图像的 HTML 元素.它可以用来制作照片集或者制作简单(也不是那么简单)的动画,甚至可 ...