spring bean注解

spring bean注解

1、概述

本文主要讨论spring bean的一些常用注解定义不同的bean。
我们一般使用两种方式在spring 容器中定义spring bean。

  • 使用xml配置定义
  • 使用@Bean注解定义
  • 使用org.springframework.stereotype包下面的一个注解
  • 使用包扫描

2、包扫描

spring 可以使用动态包扫描注册spring bean。
@ComponentScan配置我们需要扫描的包的路径,将带有@Controller@Service@Component@Repository@ComponentScan等注解的类自动注册为spring bean。注解里面的值可以是value也可以是basePackages
如下:

@ComponentScan(value = "com.pengchao")
@Configuration
public class PackageScanConfig {
}

或者

@ComponentScan(basePackages = "com.pengchao")
@Configuration
public class PackageScanConfig {
}

我们也可以指定类名使用basePackageClasses参数

@ComponentScan(basePackageClasses = com.pengchao.PackageScanConfig.class)
@Configuration
public class PackageScanConfig {
}

也可以使用多个@ComponentScan

@ComponentScan(basePackages = "com.pengchao")
@ComponentScan(basePackageClasses = com.pengchao.PackageScanConfig.class)
@Configuration
public class PackageScanConfig {
}

或者

@ComponentScans({
        @ComponentScan(basePackageClasses = com.pengchao.PackageScanConfig.class),
        @ComponentScan(basePackages = "com.pengchao")
})
@Configuration
public class PackageScanConfig {
}

3、@Component

@Component是使用在类上的注解。包扫描时,spring框架会动态扫描含有@Component的类注册为spring bean。

@Component
public class PengchaoComponent {
}

这些bean的name为:类名首字母小写,如pengchaoComponent。
我们也可以通过value来指定bean的name。
@Repository,@Service,@Configuration, 及@Controller都包含元注解@Component。包扫描是都会自动将含有这些注解的类注册为spring bean。

4、@Repository

@Repository主要用户数据库访问层。

5、@Service

@Service主要用于业务逻辑层。

6、@Controller

@Controller是类级别的注解,在spring MVC中声明该类为controller

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值