Spring自动注入AutoWire, 加载配置文件,scope属性

一:自动注入
1.在spring配置文件中对象名和ref=“id” id 名相同使用自动注入,不需要配置
2.两种配置方法
2.1 在标签中通过autowire="“配置,只对这个bean有效
2.2 在标签中通过default-autowire=”“配置,表示当前文件中所有都是全局配置内容
3. autowire=”“可取值
3.1 default: 默认值,根据全局default-autowire=”"值,默认全局和局部都没有配置的情况下,相当于no
3.2 no: 不自动注入
3.3 byName: 通过名称自动注入,在spring容器中找类的id
3.4 byType: 根据类型注入(spring容器中不可以出现两个相同类型的bean,否则会报错)
3.5 constructor: 根据构造方法注入

二. Spring中加载配置文件
当我们需要用spring去加载一些配置文件,例如数据库连接等配置文件时,我们可是使用spring提供的一些标签

1.在src下新建 xxx.properties配置文件
2.在spring配置文件中引入xmlns:context="http://www.springframework.org/schema/context"
在下面添加

<context:property-placeholder location="classpath:xxx.properties"/>
  • 如果需要加载多个配置文件,用逗号分隔

配置文件内容

jdbc.username=root
jdbc.password=123456

那我们可以使用 ${}来取得配置文件的值

<bean id="JDBC" class="com.mlj.springstudy.JDBC">
		<property name="password" value="${jdbc.password}"></property>
		<property name="username" value="${jdbc.username}"></property>
</bean>

当然我们也可以使用注解 @Value()来配置bean

	@Value("${jdbc.username}")
	private String username;
	@Value("${jdbc.password}")
	private String password;

这样不用配置标签也能达到同样的目的

三.scope属性
1.bean的属性

2.控制对象的有效范围(单例,多例)

3.bean标签对应的对象默认是单例的

4.scope可取值

  • singleton 默认值,单例
  • prototype 多例,每次获取重新实例化
  • request 每次请求重新实例化
  • session 每次会话内,对象是单例的

猜你喜欢

转载自blog.csdn.net/mmmmmlj/article/details/103448509
今日推荐