标签:config support XML resource 文件导入 基础上 方式 ext location
创建相关的类(这里是直接在之前类的基础上进行修改)
package com.guan.dao;
public interface Fruit {
String getFruit();
}
package com.guan.dao;
public class FruitImpl implements Fruit {
public String getFruit() {
return "Buy Some fruit";
}
}
package com.guan.service;
import com.guan.dao.Fruit;
public interface UserService {
String buyFruit();
void setFruit(Fruit fruit);
}
package com.guan.service;
import com.guan.dao.Apple;
import com.guan.dao.Fruit;
import com.guan.dao.FruitImpl;
public class UserServiceImpl implements UserService{
Fruit fruit;
public UserServiceImpl() {
fruit = new FruitImpl();
}
public String buyFruit() {
return fruit.getFruit();
}
public void setFruit(Fruit fruit){
this.fruit = fruit;
}
}
在resources目录下添加配置文件:beans.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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="fruit" class="com.guan.dao.FruitImpl"></bean>
<bean id="apple" class="com.guan.dao.Apple"></bean>
<bean id="userService" class="com.guan.service.UserServiceImpl">
<property name="fruit" ref="fruit"></property>
</bean>
</beans>
注:
(1).即便没有属性需要初始化也需要通过<bean>
来对其进行实例化,而不再需要new
(2).<property>
的注入需要类中存在set方法
(3).对于属性的赋值的两种方式
<bean>
中的id初始化创建并使用实例
import com.guan.dao.Fruit;
import com.guan.service.UserService;
import com.guan.service.UserServiceImpl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
//create and configure beans
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//retrieve configured instance
UserService userService = (UserService) context.getBean("userService");
System.out.println(userService.buyFruit());
}
}
其它相关配置
alias:给bean起别名,可以用多个不同的别名取出同一个类的实例
bean
(1).id:bean的唯一标识符
(2).class:bean对象所应的全限定名(包名+类名)
(3).name:也是别名,可以取同时取多个别名
import:用于团队开发使用,可以将多个配置文件导入合并为一个.那么在调用时只要导入一个配置文件即可
标签:config support XML resource 文件导入 基础上 方式 ext location
原文地址:https://www.cnblogs.com/Arno-vc/p/13387076.html