在Spring工程中, 通过xml配置文件进行注入
接上一笔记的工程
编写applicationContext配置文件
1. 通过无参构造进行注入
<?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="userDao" class="com.fd.zj.learn.dao.impl.UserDaoImpl" />
</beans>
2. 通过有参构造进行注入
创建User对象
package com.fd.zj.learn.domain;
/**
* @Author: learn
* @Date: 2021-09-25 22:05
*/
public class User {
private String username;
public User(String username){
this.username = username;
}
@Override
public String toString(){
return "User[username = " + username + "]";
}
}
参数通过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="user" class="com.fd.zj.learn.domain.User">
<constructor-arg>
<value>"aaaa"</value>
</constructor-arg>
</bean>
</beans>
通过Application的main函数进行测试,
package com.fd.zj.learn;
import com.fd.zj.learn.domain.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Application {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User)ac.getBean("user");
System.out.println(user);
}
}
发现运行结果为:
说明参数注入成功了。
另外一种注入方式配置如下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user" class="com.fd.zj.learn.domain.User" c:username="bbb" />
</beans>
运行结果如下:
说明注入成功