首页 > 其他分享 >IOC 操作 Bean 管理(配置文件)

IOC 操作 Bean 管理(配置文件)

时间:2022-10-18 12:03:20浏览次数:80  
标签:String 配置文件 创建 Bean 属性 IOC public 注入

1、基于 xml 方式创建对象
(1)在 spring 配置文件中,使用 bean 标签,标签里面添加对应属性,就可以实现对象创建
(2)在 bean 标签有很多属性,介绍常用的属性
* id 属性:唯一标识
* class 属性:类全路径(包类路径)
(3)创建对象时候,默认也是执行无参数构造方法完成对象创建
2、基于 xml 方式注入属性
(1)DI:依赖注入,就是注入属性
3、第一种注入方式:使用 set 方法进行注入
(1)创建类,定义属性和对应的 set 方法
/**
* 演示使用 set 方法进行注入属性
*/
public class Book {
 //创建属性
 private String bname;
 private String bauthor;
 //创建属性对应的 set 方法
 public void setBname(String bname) {
 this.bname = bname;
 }
 public void setBauthor(String bauthor) {
 this.bauthor = bauthor;
 }
}
(2)在 spring 配置文件配置对象创建,配置属性注入
<!--2 set 方法注入属性-->
<bean id="book" class="com.atguigu.spring5.Book">
 <!--使用 property 完成属性注入
 name:类里面属性名称
 value:向属性注入的值
 -->
 <property name="bname" value="易筋经"></property>
 <property name="bauthor" value="达摩老祖"></property>
</bean>

第二种注入方式:使用有参数构造进行注入

(1)创建类,定义属性,创建属性对应有参数构造方法
/**
* 使用有参数构造注入
*/
public class Orders {
 //属性
 private String oname;
 private String address;
 //有参数构造
 public Orders(String oname,String address) {
 this.oname = oname;
 this.address = address;
 }
}
(2)在 spring 配置文件中进行配置
<!--3 有参数构造注入属性-->
<bean id="orders" class="com.atguigu.spring5.Orders">
 <constructor-arg name="oname" value="电脑"></constructor-arg>
 <constructor-arg name="address" value="China"></constructor-arg>
</bean>

p 名称空间注入(了解)

(1)使用 p 名称空间注入,可以简化基于 xml 配置方式
第一步 添加 p 名称空间在配置文件中
第二步 进行属性注入,在 bean 标签里面进行操作
<!--2 set 方法注入属性-->
<bean id="book" class="com.atguigu.spring5.Book" p:bname="九阳神功" 
p:bauthor="无名氏"></bean

 

标签:String,配置文件,创建,Bean,属性,IOC,public,注入
From: https://www.cnblogs.com/ai377377/p/16802137.html

相关文章

  • 我的GVIM配置文件
    以下是我自己的vim配置文件。个人建议,还是使用完整的命令比较好,这样有助于理解记忆,尤其对于初次接触的人来说更重要。"显示行号,取消显示行号为nonumber,诸多进行相反......
  • IOC生命周期 -3种生命周期
    IServiceProvider处理提供所需服务实例,有需要还会负责释放服务实例。具体操作为调试用实例的dispose或者异步dispose方法。scoped和transient:当前Iserviceprovider......
  • IOC
    IOCIOC的优劣势容器革新在java&php的开发过程中存在一个定律:使用对象之前,必须先创建,但是在Laravel&Spring框架中我们往往通过IOC容器直接获取,而无需事先创建它们,这种技......
  • IOC 生命周期-服务范围
    publicclassServicesPrpvoder:IServicesPrpvoder服务提供者可以利用IserviceScoprFactory创建一个服务范围IServiceScope对象IServicesScope的包含IServicesPrpvod......
  • 关于Spring的核心AOP和IOC理解
    spring概念轻量级的开源的J2EE框架。它是一个容器框架,用来装javabean(java对象),中间层框架(万能胶)可以起一个连接作用,比如说把Struts和hibernate粘合在一起运用,可以让我们的企......
  • 使用Etcd+Confd实现Nginx配置文件自动管理
    ​安装etcd#yum安装yuminstalletcd-y#更新https://github.com/coreos/etcd/releases替换掉etcd和etcdctlsed-i's/localhost/0.0.0.0/g'/etc/etcd/etcd.confsystemc......
  • 解决 Error creating bean with name 'UserMapper' defined in file异常处理和Cause:
    Errorcreatingbeanwithname'UserMapper'definedinfile异常处理和Cause:java.lang.IllegalArgumentException:ResultMapscollectionalreadycontains这两个问......
  • log4j配置文件详解
    【参考文章】:Log4j2中RollingFile的文件滚动更新机制1.配置文件示例<?xmlversion="1.0"encoding="UTF-8"?><!--ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATA......
  • spring配置和管理bean
    Spring管理Bean-IOC在beans.xml中,我们注入2个Monster对象,但是不指定id<beanclass="com.hspedu.spring.beans.Monster"><propertyname="monsterId"valu......
  • winioctl.h(10326): [C4668] 没有将“_WIN32_WINNT_WIN10_TH2”定义为预处理器宏,用
    一般为Windows中的宏和UE4冲突所致在模块的xxx.Build.cs里面添加这个:bEnableUndefinedIdentifierWarnings=false;转自:https://blog.csdn.net/boonti/article/detail......