实验1 Spring IoC中的Bean装配
目录
前言
本文为第一章课后题实验----Spring IoC中的Bean装配
一、实验目的
掌握在Spring IoC 容器中基于XML和基于注解装配Bean的方法。
二、实验内容
现有产品类,根据业务需求要对产品进行保存操作,为了遵守3层框架体系结构,设计了如下的类结构。(我写的不严谨,放在了同一个包下面,省了一部导包步骤)
具体要求:
- 在Spring IoC容器中基于XML完成对Bean的装配,创建测试类,获取ProductController的实例,调用其save()方法,在控制台上打印Product的信息。
- 在Spring IoC容器中基于注解(@Autowired)完成对Bean的装配,创建测试类,获取ProductController的实例,调用其save()方法,在控制台上打印Product的信息。
1.Product实体类
Product 代码如下:
package com.ssm.po;
//商品实体类
public class Product {
private Integer id;
private String name;
private String subTitle;
private float price;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSubTitle() {
return subTitle;
}
public void setSubTitle(String subTitle) {
this.subTitle = subTitle;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
@Override
public String toString() {
return "product [id=" + id + ", name=" + name + ", subTitle=" + subTitle + ", price=" + price + "]";
}
}
2.业务层接口ProductService
ProductService 代码如下:
package com.ssm.po;
//业务层接口
public interface ProductService {
public void save(Product product);
}
3.业务层实现类ProductServiceImpl
代码如下(示例):
package com.ssm.po;
import org.springframework.stereotype.Service;
//业务层实现类
@Service("service")
public class ProductServiceImpl implements ProductService{
@Override
public void save(Product product) {
System.out.println(product);
}
}
4.控制器类ProductController
ProductController 代码如下:
package com.ssm.po;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
//控制器类
@Controller("controller")
public class ProductController {
@Autowired
private ProductService productService;
public void save(Product product) {
this.productService.save(product);
}
}
三、实验思路
(1)主要是完成配置文件中Bean的定义和依赖注入
(2)在类中的相关类和属性上添加注解,并在配置文件中添加注解解析器和包扫描器。
(3)要创建一个测试类用于测试并打印Product信息。
四、实验步骤
1、创建项目,并添加Spring相关支持
2、创建相关接口和类
我放在一个包下面不是很严谨,自己写的时候记得分开放
注意:自己创建一个测试类
3、配置Spring IoC容器
就是编写applicationContext.xml配置文件
applicationContext.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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<bean id="product" class="com.ssm.po.Product">
<property name="id" value="123"></property>
<property name="name" value="fjr"></property>
<property name="subTitle" value="ssm"></property>
<property name="price" value="9999"></property>
</bean>
<context:annotation-config/>
<context:component-scan base-package="com.ssm.po"></context:component-scan>
</beans>
4、创建测试类
通过applicationContext.xml获取ProductController类的实例,调用其save()方法
TestXmlConfig代码如下:
package com.ssm.po;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestXmlConfig {
public static void main(String[] args) {
// TODO Auto-generated method stub
//先获取配置文件信息
ApplicationContext context=new ClassPathXmlApplicationContext("ApplicationContext2.xml");
//通过获取配置文件间接获取ProductController实例
ProductController controller = context.getBean("controller",ProductController.class);
//获取product信息
Product product = context.getBean("product",Product.class);
//调用save()方法打印信息
controller.save(product);
}
}
以上代码仅供参考,如有错误请指正。
总结
例如:以上就是今天要讲的内容,本文仅仅简单讲解了在eclipse中应用Spring相关实验的内容。