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