spring-study-spring配置

spring配置:

     1、别名的设置,

  如果设置了别名,也可以通过别名来获取对象

 <alias name="user" alias="userNew"></alias>

   2、bean的配置

<!--id :bean的唯一标识符
class:bean的全限定名 包名+类名
name:别名,比alias设置别名更高级,可以设置多个别名,可以用逗号隔开
-->
<bean id="userT" class="com.luo.pojo.UserT" name="userTNew">
<property name="name" value="天天快乐">
</property>
</bean>
3、import
一般用于团队开发使用,可以将多个配置文件导入一起

依赖注入
构造器注入
  Set注入:
applicationContext.xml:
<?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">

<bean id="address" class="com.luo.pojo.Address">
<property name="address" value="中国"></property>
</bean>
<bean id="student" class="com.luo.pojo.Student">
<!--第一种,普通值注入,使用value即可-->
<property name="name" value="xluox"></property>

<!--第二种,bean注入,使用ref-->
<property name="address" ref="address"></property>

<!--第三种,数组注入,-->
<property name="books">
<array>
<value>西游记</value>
<value>红楼梦</value>
<value>水浒传</value>
<value>三国演义</value>
</array>
</property>

<!--第三种,List注入,-->
<property name="hobbys">
<list>
<value>听歌</value>
<value>敲代码</value>
<value>看电影</value>
</list>
</property>

<!--第四种,map注入,-->
<property name="card">
<map>
<entry key="身份证" value="1234565222232333"></entry>
<entry key="银行卡" value="1223312312312313"></entry>
</map>
</property>

<!--第五种,set注入,-->
<property name="games">
<set>
<value>英雄联盟</value>
<value>王者荣耀</value>
<value>和平精英</value>
</set>
</property>

<!--第六种,null注入,-->
<property name="wife">
<null/>
</property>

<!--第七种,properties注入,-->
<property name="info">
<props >
<prop key="学号">19222222</prop>
<prop key="性别">男</prop>
<prop key="姓名">小明</prop>
</props>
</property>
</bean>
</beans>

  其他方式注入:
    p命名空间注入
    c命名空间注入



bean的作用域:

  当spring容器创建一个bean实例时,不仅可以完成对bean的实例化,也可以为bean指定作用域
  
  单例模式(spring的默认机制)
  <bean id="user" class="com.luo.pojo.User" scope="singleton"></bean>
  原型模式(每次从spring中getBean()的时候,都会产生一个对象)
  <bean id="user" class="com.luo.pojo.User" scope="prototype"></bean>
  
  其余的三个作用域:request 、session 、global session 只在web开发中用到




自动装配
    ByName和ByType
ByName自动装配(autoire="ByName")
  根据setter方法名进行自动装配,
会自动在容器上下文中查找,和自己对象set方法后面的值对应的bean id
ByType自动装配(autoire="ByType")
会在容器上下文中查找,和自己对象属性类型相同的bean id
 
 
posted @ 2022-04-12 22:27  xluoc  阅读(22)  评论(0编辑  收藏  举报