您现在的位置是:首页 > 个人日记个人日记
spring-03-构造方法注入和set方法注入
2019-02-03 18:03:29【个人日记】355人已围观
简介两种bean的装配方式
构造方法注入和set方法注入
set方法注入
<?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">
<!--id:用于从spring容器获得实例时使用-->
<!--class:需要创建实例化的全限定名-->
<!--property:类中的成员-->
<!--scope是bean的作用域-->
<!--scope属性有singleton单例模式,prototype多例模式-->
<!--默认是单例模式-->
<!--init-method初始化时调用该方法,destroy-method结束时调用该方法-->
<bean id="messageService" init-method="init" destroy-method="destroy" class="com.spring.MessageService" scope="singleton">
<!--name:成员的名称-->
<!--value:对应属性的值-->
<property name="message" value="hello spring"/>
</bean>
</beans>
这是set方法注入
构造方法注入
对象信息
package com.spring;
public class MessageService {
private String message;
MessageService(String message) {
this.message = message;
}
public void init() {
System.out.println("init...");
}
public void destroy() {
System.out.println("destroy");
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
这时候使用构造方法注入
<?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="messageService" class="com.spring.MessageService">
<!--name是带参数构造方法的参数名称-->
<constructor-arg name="message" value="Hello Spring"></constructor-arg>
</bean>
</beans>
构造方法注入应当使用标签
set方法使用
当在Bean增加字段
package com.spring;
public class MessageService {
private String message;
private String name;
MessageService(String message, String name) {
this.message = message;
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void init() {
System.out.println("init...");
}
public void destroy() {
System.out.println("destroy");
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
这时候配置中有三种方式
<?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="messageService" class="com.spring.MessageService">
<!--name是带参数构造方法的参数名称-->
<constructor-arg index="0" value="Hello Spring"></constructor-arg>
<constructor-arg index="1" value="Spring"></constructor-arg>
-------------------------------------------------------------------
<constructor-arg type="java.lang.String" value="Hello Spring"></constructor-arg>
<constructor-arg type="java.lang.String" value="Spring"></constructor-arg>
--------------------------------------------------------------------
<constructor-arg name="message" value="Hello Spring"></constructor-arg>
<constructor-arg name="name" value="Spring"></constructor-arg>
</bean>
</beans>
以上三种方式用 -
隔开
Tags: JavaWeb
上一篇: 阿里云建站-宝塔Linux面板
下一篇: spring-05-复杂数据类型注入
相关文章
随机图文
评论区
2024-12-12 20:47:16
站长
没有登录功能是为了方便大家留言,但留言接口现在被恶意攻击,将关闭留言接口,如有疑问,请联系我的QQ 1538933906/同微信