Skip to content

Instantly share code, notes, and snippets.

@wutingjia
Last active February 6, 2019 12:10
Show Gist options
  • Save wutingjia/f0319ab991cb671938562b65749d63fd to your computer and use it in GitHub Desktop.
Save wutingjia/f0319ab991cb671938562b65749d63fd to your computer and use it in GitHub Desktop.
Spring装配Bean

自动化装配bean

@Component 类级注解 表明该类是一个组件类,将它识别为一个bean,需要通过开启组建扫描才能发现。
对于@Component注解的bean的名字,默认是驼峰,可以是使用@Component("xxx")指定名称

可以专门创建一个配置类,该类有注解 @Configuration 引导类启动会先去加载配置类;@ComponentScan 开启组件扫描,默认扫描与配置类相同的包,查找带有@Component的类
@ComponentScan("xxx")value属性指定包的名称,多个包可以用@ComponentScan(basepackages={"xxx","xxx"})。但是字符串没有编译器检查,@ComponentScan(basepackages={aaa.class,bbb.class}),aaa与bbb两个类所在的包会作为被扫描的包。

将bean注入 可以在属性或者方法上使用@Autowired,如果是方法自动传入参数

java代码装配bean

@Configuration注解表明这个类是一个配置类,该类应该包含Spring应用上下文中如何创建bean的细节。
@Bean 告诉Spring,方法返回的对象要注册为bean,方法体中中可以包含产生bean的任意逻辑
默认bean的ID与方法名相同,@Bean(name="xxxx")指定名字
默认情况下bean都是单例,因此每当调用@Bean 注解的方法时,Spring会进行拦截,并传给他一个已存在的bean。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment