美文网首页
Spring-2.Java Bean以及Ioc容器

Spring-2.Java Bean以及Ioc容器

作者: Blacol | 来源:发表于2022-05-30 22:49 被阅读0次

Java Bean

Java Bean是一种java开发标准。它要求类必须是具体的和公共的,并且具有无参数的构造器。Java Bean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,可用set和get方法获取属性。
get和set方法也称为Getter和Setter.

Bean

Spring当中也有Bean的概念。spring当中的bean的要求和JavaBean是一样的,都要求类有一个无参构造函数并且是公共的,同时还有getter和setter方法。
Spring通过扫描@Bean注解将Bean放进IoC容器中以便管理。

IoC、DI、IoC容器

IoC容器是Spring的核心功能。IoC(控制反转)是面向对象中的一个设计原则,用于降低程序代码之间的耦合度。传统开发方法中,需要通过new来获取对象,而通过IoC由Spring自动初始化对象。将控制权限由应用程序转换为Spring,这就是控制反转。Ioc容器就是管理这些对象的容器。
DI(动态注入)是指IoC容器在运行期间动态地将某种依赖资源注入到对象中。

几个常用的注解

@Component@Service@Repository@Controller

这四个注解的作用都是将某个类视为Bean放在IoC容器中,如果一个类被上面注解中的一个注解标注则可以通过@Autowired注解从IoC容器中取出。
这四个注解的功能是一样的,主要用于区分类的用途。

  • @Component表示该类是软件的一个组成部分
  • @Service表示该类是一个服务类(XXXService.java)
  • @Repository表示该类是一个DAO类(XXXDao.java)
  • @Controller表示该类是一个控制器(XXXController.java)(关于控制器会在后面的教程中讲到)

@Autowired@Resource

可以通过这两个类从IoC中取出已经装配的Bean。这两个注解的区别是:

  • @Autowired默认按照类型装配,如果IoC容器中有多个同一类型的Bean,那么会报错,此时需要@Qualifier注解进行限定,指定注入的bean名称。
  • @Resource默认按照名称装配,也可以按照类型装配。
    • 如果按照名称装配需要指定name属性,name属性表示装配的对象名。如果没有指定name属性则会按照默认对象名查找(默认对象名是类名的开头字母小写形式),如果都没找到则按照类型查找。
    • @Resource也提供了type属性进行类型查找。
  • @Autowired是Spring提供的而@Resource是Java自带的
    对于一个类型一个bean的项目来说使用@Autowired更方便。

相关文章

  • Spring-2.Java Bean以及Ioc容器

    Java Bean Java Bean是一种java开发标准。它要求类必须是具体的和公共的,并且具有无参数的构造器...

  • 阐述Spring框架中Bean的生命周期?

    ① Spring IoC容器找到关于Bean的定义并实例化该Bean。② Spring IoC容器对Bean进行依...

  • spring-core

    bean: 应用里被Spring IoC容器管理的对象叫做bean.Spring IoC容器负责bean的初始化,...

  • spring-core-1.1~1.9 IoC容器

    1. IoC容器 本章介绍Spring的控制反转,即IoC容器. 1.1 Spring IoC容器和bean简介 ...

  • Bean 的后置处理器

    IOC 容器中 Bean 的生命周期方法: Spring IOC 容器可以管理Bean 的生命周期Spring 允...

  • Spring 实例化bean的方式

    Spring bean是由Spring IoC容器管理的对象。Spring IoC容器管理一个或多个bean,这些...

  • IOC

    架构 IOC容器 ------- spring容器(bean) -------- DefaultListenab...

  • Spring生命周期管理

    一、Bean的解析加载 IOC容器启动 IOC容器通过applicationContext.refresh()加载...

  • 面试问题记录(08.12)

    Spring:IOC的理解以及IOC容器的初始化过程,Spring的Bean保持在哪里,BeanFactory与F...

  • 实例化Bean

    Spring IoC容器需要根据Bean定义里的配置元数据使用反射机制来创建Bean。在Spring IoC容器中...

网友评论

      本文标题:Spring-2.Java Bean以及Ioc容器

      本文链接:https://www.haomeiwen.com/subject/vpasyrtx.html