初识Spring

什么是Spring

        Spring 是一个开源的 Java 应用框架,它提供了一套全面的解决方案,用于开发企业级 Java 应用程序。Spring 框架旨在简化 Java 开发,并提供了一种灵活且非侵入式的编程模型,帮助开发人员构建可扩展、模块化和可维护的应用程序。

Spring的容器

Spring的主要容器有两种:一个名为BeanFactory,另一个名为ApplicationContext

BeanFactory

        BeanFactory 是 Spring框架中最基础、最核心的接口之一,它提供了 loC(控制反转)容器的基本功能。BeanFactory 负责管理应用程序中的各种组件(Bean),包括它们的配置、创建、装配和管理。

  1. BeanFactory 是 Spring Containers 的顶级接囗。
  2. 它负责管理和查询Bean
  3. 提供了getBean()
  4. 大部分功能都是由他提供的

  

        BeanFactory具有延迟初始化的特性,这种延迟初始化的设计可以减轻启动时的资源占用,但可能导致首次访问Bean时稍有延迟。基于以上,我们通常使用更多继承了BeanFactory接口的实现类和子接口。

ApplicationContext

        ApplicationContext是BeanFactory的子接口,它继承了BeanFactory的所有特性,能够在程序启动时实例化所有的Bean。相对于BeanFactory,它提供了更多的功能和特性,包括以下几点。

  1. 事件发布:ApplicationContext 可以发布各种事件,供应用程序的其他组件监听和响应。
  2. 国际化支持:ApplicationContext 提供了国际化消息的管理和访问。
  3. 资源访问:ApplicationContext 提供了统一的资源访问接口,方便访问各种类型的资源。
  4. 生命周期管理:ApplicationContext 负责管理 Bean 的整个生命周期,包括初始化、销毁等。

        总的来说,ApplicationContext 是 Spring 框架中更常用的容器类型,它提供了比 BeanFactory更加丰富和强大的功能。

注解

        注解(Annotation)是一种在源代码中提供元数据的方式,它不会直接影响程序的执行,但可以被编译器或运行时环境用来改变程序的行为或提供额外的信息。注解本质上继承 Annotation 接口,我们可以通过反射获取注解的相关信息,从而做些逻辑操作。

        Spring和Spring Boot是Java开发中非常流行的框架,它们使用注解来简化依赖注入和配置。以下是些Spring和Spring Boot中最关键的注解:

  1. @Autowired:自动装配依赖项。Spring容器自动查找并注入匹配类型的bean。
  2. @Component:通用的注解,用于标记类为Spring组件,可以被自动扫描和注册为Spring应用上下文中的bean。
  3. @Service:特定于服务层的注解,是@Component的特化。
  4. @Repository:特定于数据访问层的注解,是@Component的特化,通常用于标记DAO(数据访问对象)。
  5. @Controller:特定于表示层的注解,用于标记类为Spring MVC的控制器。
  6. @RestController:用于创建RESTful web服务的控制器,是@Contro1ler和@ResponseBody的组合。
  7. @RequestMapping:用于映射HTTP请求到控制器的处理方法。
  8. @Bean:用于在方法上声明一个bean,该方法将由Spring容器管理。
  9. @SpringBootApplication:组合了@Configuration、@EnableAutoConfiguration和@ComponentScan,通常用于主类上,简化Spring Boot应用的配置。
  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值