spring的基础应用(1)——定义bean

本文内容纲要:

- 一、命名一个Bean

一、命名一个Bean

1、用id和class定义一个bean

基于xml创建一个spring的bean

<?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="order" class="com.ali.testspring.Order">

</bean>

</beans>

其中id是一个字符串,用于表示bean,是唯一的,class是类的全限定名。

在创建一个services.xml和daos.xml

services.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">

<!-- services -->

<bean id="service" class="com.ali.testspring.Service">

<property name="dao1" ref="dao1"/>

<property name="dao2" ref="dao2"/>

<!-- additional collaborators and configuration for this bean go here -->

</bean>

<!-- more bean definitions for services go here -->

</beans>

daos.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="dao1"

class="com.ali.testspring.Dao1">

<!-- additional collaborators and configuration for this bean go here -->

</bean>

<bean id="dao2" class="com.ali.testspring.Dao2">

<!-- additional collaborators and configuration for this bean go here -->

</bean>

<!-- more bean definitions for data access objects go here -->

</beans>

在测试类里:

ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");

System.out.println(context.getBean("dao1"));

System.out.println(context.getBean("dao2"));

System.out.println(context.getBean("service"));

我们发现,虽然这三个bean不在一个xml里面,但是service仍然是可以引用dao1和dao2的。

2、用factory-method定义一个bean

看第一个示例,在ClientService中定义了一个静态工厂方法,返回一个clientService对象。

<?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="clientService" class="com.ali.testspring.ClientService" factory-method="createInstance">

</bean>

</beans>

public class ClientService {

private static ClientService clientService = new ClientService();

private ClientService() {}

public static ClientService createInstance() {

return clientService;

}

}

第二个示例:

<?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="userService" class="com.ali.testspring.UserService">

<!-- inject any dependencies required by this locator bean -->

</bean>

<!-- the bean to be created via the factory bean -->

<bean id="userDao"

factory-bean="userService"

factory-method="createUserDao"/>

</beans>

public class UserService {

private static UserDao userDao=new UserDao();

private UserDao createUserDao(){

return userDao;

}

}

本文内容总结:一、命名一个Bean,

原文链接:https://www.cnblogs.com/bill-g-chen/p/15768413.html

以上是 spring的基础应用(1)——定义bean 的全部内容, 来源链接: utcz.com/z/362373.html

回到顶部