首页 > 其他分享 >Spring Bean 获取和注入

Spring Bean 获取和注入

时间:2024-05-06 13:47:32浏览次数:16  
标签:xml service 配置文件 创建 获取 Bean Spring

Bean Factory

bean创建

1. 导入Maven坐标(此处导入spring-context包即可,已经包含了spring framework中核心的包)

 

2. 定义service接口及其实现类

3. 创建beans.xml文件,将service信息配置到该文件中

  • recources下新建 XML配置文件,选择Spring Config,创建beans.xml。 因为我们第一步已经导入Spring坐标,所以此处会显示该选项
  • 在该文件中将第二步创建的类配置为Bean

 

4. 编写测试代码,创建BeanFactory,加载配置文件,获取service实例对象

  • 创建工程对象 -> 创建读取器,读取xml文件 -> 读取器读取配置文件给工厂 --> 根据id获取Bean实例对象

 

依赖注入

一般情况下,service 层会去调用Dao层的服务,这样service类下会设置一个Dao层的对象属性,通过 set来给属性赋值。在Spring中,我们可以写好set方法告诉Spring来实现方法的自动调用进行属性赋值来实现注入,而不需要再手动写一遍

  • 创建userDaoImpl类
  • UserServiceImpl 实现set方法

  • 在配置文件中 配置 userDaoImpl 为bean
  • 通过property标签进行属性赋值,如果是基本类型数据,则写为 <property name="address" value="上海市"></property>
    • 注意name=“address”中的 address 是 setAddres 去掉set并且将首字母小写得到的,如果是 setAaa,则name="aaa", 一般不会这么做

  •  运行结果

 ApplicationContext

  • ApplicationContext成为Spring容器,内部封装了BeanFacroty,比BeanFactory功能更加强大
  • xml文件一般习惯写成applicationContext.xml

使用地点:在main方法中,我们不再去创建工厂对象和读取器,而是可以直接创建applicationContext容器来读取配置文件

 BeanFactory和ApplicationContext的比较

 

标签:xml,service,配置文件,创建,获取,Bean,Spring
From: https://www.cnblogs.com/mlllily/p/18174852

相关文章

  • springboot~CompletableFuture并行计算
    在Spring中,CompletableFuture通常用于异步编程,可以方便地处理异步任务的执行和结果处理,CompletableFuture是Java8引入的一个类,用于支持异步编程和并发操作。它基于Future和CompletionStage接口,提供了丰富的方法来处理异步任务的执行和结果处理。下面是CompletableFuture......
  • Spring学习之——Bean加载流程
    Spring IOC容器就像是一个生产产品的流水线上的机器,Spring创建出来的Bean就好像是流水线的终点生产出来的一个个精美绝伦的产品。既然是机器,总要先启动,Spring也不例外。因此Bean的加载流程总体上来说可以分为两个阶段:容器启动阶段Bean创建阶段一、容器启动阶段:容器的启动阶......
  • 手写Spring框架
    1.手写Spring框架@目录1.手写Spring框架每博一文案2.反射机制的回顾3.开始手写Spring框架3.1第一步:使用IDE创建模块myspring3.2第二步:准备好我们要管理的Bean3.3第三步:准备myspring.xml配置文件3.4第四步:编写ApplicationContext接口3.5第五步:编写ClassPathXmlApplic......
  • spring项目创建
    从springinitializer下载一个demoSpringboot 在idea中需要配置java版本和maven版本之后:mvnpackage不需要下载tomcat,Spring里面pom中包含内置tomcat<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star......
  • 3. SpringBoot 整合第三方技术
    1.整合Junit一般来说是不需要进行处理的,因为在创建SpringBoot工程时,会自动整合junit​的要说怎么配置的话?也可以写一下相关的配置:以下就是SpringBoot整合Junit相关步骤导入相关依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b......
  • JS实现获取当前URL和来源URL的方法
    通用模式:Javascript正常取来源网页的URL只要用:index.html:<!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1,maximum-scale=......
  • Camunda 整合SpringBoot基本Api
    代码实现:需要接口@AutowiredprivateRuntimeServiceruntimeService;@AutowiredprivateRepositoryServicerepositoryService;@AutowiredprivateTaskServicetaskService;发布流程:@GetMapping("/deploy")publicObjectdeploy(){......
  • SpringBoot3.1.5对应新版本SpringCloud开发(2)-Eureka的负载均衡
    Eureka的负载均衡负载均衡原理负载均衡流程老版本流程介绍当order-servic发起的请求进入Ribbon后会被LoadBalancerInterceptor负载均衡拦截器拦截,拦截器获取到请求中的服务名称,交给RibbonLoadBanlancerCient,然后RibbonLoadBanlancerCient会将服务名称当作服务id交给Dynamic......
  • Spring 的容器配置
    除了XML配置外,Spring框架还提供了两种主要的方式来配置和管理应用中的bean:基于注解(Annotation-basedContainerConfiguration)和基于Java的配置(Java-basedContainerConfiguration)。这两种方式都是为了替代传统的XML配置,以更加面向代码的方式简化配置并提高可读性。下面是两者......
  • 测试 springboot 项目苍穹外卖,解决 Unable to connect to Redis 错误问题
       使用IDEA启动springboot项目苍穹外卖后台项目sky-take-out,测试“菜品批量删除”接口时,能够正常完成操作,但是服务器始终显示下面错误信息:2024-05-0320:54:24.134ERROR24360---[nio-8181-exec-3]o.a.c.c.C.[.[.[/].[dispatcherServlet]  :Servlet.service()fo......