您现在的位置是:首页 > 个人日记个人日记
spring-03-构造方法注入和set方法注入
2019-02-03 18:03:29【个人日记】434人已围观
简介两种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
上一篇: mybatis-05-动态SQL
下一篇: mybatis-08-延迟加载
相关文章
随机图文
评论区
2025-11-09 06:11:46
站长
没有登录功能是为了方便大家留言,但留言接口现在被恶意攻击,将关闭留言接口,如有疑问,请联系我的QQ 1538933906/同微信
