[Spring5]IOC容器_Bean管理XML方式_创建对象_set注入属性and有参构造注入属性

IOC操作 Bean管理

什么是Bean管理

1.Bean管理指的是两个操作:

a.Spring创建对象

b.Spring注入属性

2.Bean管理操作有两种方式

a.基于xml配置文件方式实现

b.基于注解方式实现

IOC操作Bean管理(基于xml方式)

1.基于xml方式创建对象

 <!--配置User对象创建--><bean id = "user" class = "com.atguigu.spring.User"></bean>

a.在spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象创建

b.在bean标签有很多属性,介绍常用的属性

i.id属性:唯一标识

ii.class属性:类全路径(包类路径)

2.基于xml方式注入属性

3.创建对象的时候,默认执行无参构造方法完成对象创建

2.基于xml方式注入属性

a.DI:依赖注入,就是注入属性

i.第一种注入方式:使用set方法进行注入

(1)创建类,定义属性和对应的set方法

package com.atguigu.spring;/*** 演示使用set方法进行注入属性*/
public class Book {private String bname;private String bauthor;public String getBname() {return bname;}public void setBname(String bname) {this.bname = bname;}public String getBauthor() {return bauthor;}public void setBauthor(String bauthor) {this.bauthor = bauthor;}public void testDemo(){System.out.println(bname + "::" + bauthor);}
}

(2)在spring配置文件配置对象创建,配置属性注入

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--    &lt;!&ndash;配置User对象创建&ndash;&gt;-->
<!--    <bean id = "user" class = "com.atguigu.spring.User"></bean>--><!--set方法注入属性--><bean id = "book" class = "com.atguigu.spring.Book"><!--使用property完成属性注入--><property name="bname" value="易筋经"></property><property name="bauthor" value="达摩老祖"></property></bean>
</beans>

(3)测试

public class TestSpring05 {@Testpublic void testAdd(){ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");Book book = context.getBean("book", Book.class);System.out.println(book);book.testDemo();}}
ii.第二种注入方式:使用有参构造方法进行注入

(1)创建类,定义属性,创建属性对应有参数构造方法

package com.atguigu.spring;/*** 使用有参数构造注入*/
public class Orders {private String name;private String address;public Orders(String name,String address){this.name = name;this.address = address;}public void orderTest(){System.out.println(name + " - "+address);}}

(2)在spring配置文件中进行配置

  <bean id = "order" class = "com.atguigu.spring.Orders"><constructor-arg name = "name" value = "电脑"></constructor-arg><constructor-arg name = "address" value = "China"></constructor-arg></bean>

(3)测试

package com.atguigu.test;import com.atguigu.spring.User;
import javafx.application.Application;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.atguigu.spring.Orders;public class TestSprindAdd {@Testpublic void testOrder(){//1.加载spring配置文件ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");//2.获取配置创建的对象Orders orders = context.getBean("order", Orders.class);System.out.println(orders);orders.orderTest();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Blazor带我重玩前端(四)

布局Blazor中的布局和MVC中的布局是类似的。创建布局新建一个Razor页面&#xff0c;所有新增的布局都要继承LayoutComponentBase&#xff0c;同时标识自定义内容的输出位置&#xff0c;即标识Body的位置。如图所示&#xff1a;应用布局我们修改一下index.razor页面中的代码&…

[Spring5]IOC容器_Bean管理XML方式_p名称空间注入

iii.第三种注入方式&#xff1a;p名称空间注入 bean: package com.atguigu.spring;/*** 演示使用set方法进行注入属性*/ public class Book {private String bname;private String bauthor;public String getBname() {return bname;}public void setBname(String bname) {thi…

kubernetes+Azure DevOps实现.Net Core项目的自动化部署均衡负载

1. 前言前前后后学习kubernetes也有一个来月了&#xff0c;关于kubernetes的博客也写了有十多篇。但是技术如果无法落地到实际的应用场景终归是纸上谈兵&#xff0c;所以就有了这一出&#xff1a;通过结合kubernetes和azure devops实现项目的CI/CD以及均衡负载写完这篇后kubern…

ASP.NET Core 消息传递:MediatR

MediatR[1] 是参考中介者模式实现的一个 .NET 工具类库&#xff0c;支持在进程内以单播或多播的形式进行消息传递&#xff0c;通过使用 MediatR 可实现消息的发送和处理充分解耦。在介绍 MediatR 之前&#xff0c;先简单了解下中介者模式。中介者模式主要是指定义一个中介对象来…

[Spring5]IOC容器_Bean管理XML方式_注入其他类型属性

xml注入其他属性 bean: package com.atguigu.spring;/*** 演示使用set方法进行注入属性*/ public class Book {private String bname;private String bauthor;private String address;public Book(String address) {this.address address;}public String getBname() {return…

ERP平台的自动化测试技术实践

源宝导读&#xff1a;ERP是“业务密集”的大型复杂软件&#xff0c;而且对于业务逻辑与数据的精确度要求几乎是零容忍&#xff0c;其质量保障的挑战很大。本文将介绍ERP平台通过自动化测试保障质量的技术实践。一、自动化测试概念介绍测试金字塔原理1.1、测试的成本UI自动化依赖…

[Spring5]IOC容器_Bean管理XML方式_注入集合类型属性

xml注入集合属性 1.注入数组类型属性 2.注入List集合类型属性 3.注入Map集合类型属性 &#xff08;1&#xff09;创建类&#xff0c;定义数组&#xff0c;list&#xff0c;map&#xff0c;set类型属性&#xff0c;生成对应set方法 package com.atguigu.collectiontype;imp…

Logging with ElasticSearch, Kibana, ASP.NET Core and Docker

“好久不见&#xff0c;前两周经历了人生第一次"伪牛市"&#xff0c;基金和股市大起大落&#xff0c;更加坚信“你永远赚不到超出你认知范围之外的钱,除非靠着运气”&#xff0c;老韭菜诚不欺我也。当能力与野心不匹配&#xff0c;只能多看书&#xff0c;收割那些不求…

[Spring5]IOC容器_Bean管理_工厂Bean

IOC操作Bean管理&#xff08;FactoryBean&#xff09; 1.Spring有两种类型bean&#xff0c;一种普通bean&#xff0c;另外一种工厂bean&#xff08;FactoryBean&#xff09; 2.普通bean&#xff1a;在配置文件中定义bean类型就是返回类型 3.工厂bean&#xff1a;在配置文件定…

Redis 6.0 新特性 ACL 介绍

Redis 6.0 新特性 ACL 介绍Intro在 Redis 6.0 中引入了 ACL&#xff08;Access Control List) 的支持&#xff0c;在此前的版本中 Redis 中是没有用户的概念的&#xff0c;其实没有办法很好的控制权限&#xff0c;redis 6.0 开始支持用户&#xff0c;可以给每个用户分配不同的权…

[Spring5]IOC容器_Bean管理_bean的作用域和bean的生命周期

IOC操作Bean管理&#xff08;bean作用域&#xff09; 1.在Spring里面&#xff0c;设置创建bean实例是单实例还是多实例 2.在Spring里面&#xff0c;默认情况下&#xff0c;bean是单实例对象 package com.atguigu.spring.test;import com.atguigu.spring.collectiontype.Book…

创建型设计模式总结

创建型设计模式总结Intro前面几篇文章已经把创建型设计模式都介绍了&#xff0c;来做一个简单的总结。创建型设计模式&#xff0c;就是用来创建对象的设计模式&#xff0c;根据要创建的对象的复杂度以及是否允许多实例以及是否需要容易扩展等多方面考虑去选择合适的设计模式来创…

手动造轮子——为Ocelot集成Nacos注册中心

前言近期在看博客的时候或者在群里看聊天的时候&#xff0c;发现很多都提到了Ocelot网关的问题。我之前也研究过一点&#xff0c;网关本身是一种通用的解决方案&#xff0c;主要的工作就是拦截请求统一处理&#xff0c;比如认证、授权、熔断、限流、注册发现、负载均衡等等。随…

[Spring5]IOC容器_Bean管理XML方式_自动装配

IOC操作Bean管理&#xff08;xml自动装配&#xff09; package com.atguigu.spring.autowire;public class Dept {Overridepublic String toString() {return "Dept{}";} }package com.atguigu.spring.autowire;public class Emp {private Dept dept;public void se…

程序员修神之路--简约而不简单的分布式通信基石

点击“蓝字”关注&#xff0c;领取架构书籍菜菜哥&#xff0c;请教一个问题呗面试又被卡住了&#xff1f;还是你了解我呀&#xff0c;tcp协议面向连接是怎么回事呢&#xff1f;这个说详细起来&#xff0c;那本好几百页的tcp协议的书籍你倒是可以看看分布式系统可以总结为是处于…

[Spring5]IOC容器_Bean管理XML方式_外部属性文件

IOC操作Bean管理&#xff08;外部属性文件&#xff09; 1.直接配置数据库信息 &#xff08;1&#xff09;配置德鲁伊druid连接池 &#xff08;2&#xff09;引入德鲁伊druid连接池依赖jar包 <!--直接配置连接池--><bean id "dataSource" class "c…

[Spring5]IOC容器_Bean管理注解方式_创建对象

IOC操心Bean管理&#xff08;基于注解方式&#xff09; 1.什么是注解 &#xff08;1&#xff09;注解是代码特殊标记&#xff0c;格式&#xff1a;注解名称(属性名称属性值,属性名称属性值…) &#xff08;2&#xff09;使用注解&#xff0c;注解作用在类上面&#xff0c;方…

一个有趣的问题, 你知道SqlDataAdapter中的Fill是怎么实现的吗

一&#xff1a;背景1. 讲故事最近因为各方面原因换了一份工作&#xff0c;去了一家主营物联柜的公司&#xff0c;有意思的是物联柜上的终端是用 wpf 写的&#xff0c;代码也算是年久失修&#xff0c;感觉技术债还是蛮重的&#xff0c;前几天在调试一个bug的时候&#xff0c;看到…

[Spring5]IOC容器_Bean管理注解方式_组件扫描配置细节

开启组件扫描细节配置 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:context"http://www.springf…

一文说通C#中的异步编程

天天写&#xff0c;不一定就明白。又及&#xff0c;前两天看了一个关于同步方法中调用异步方法的文章&#xff0c;里面有些概念不太正确&#xff0c;所以整理了这个文章。一、同步和异步。先说同步。同步概念大家都很熟悉。在异步概念出来之前&#xff0c;我们的代码都是按同步…