IOC(控制反转) DI(依赖注入)
方式1:
通过xml配置文件装载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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:core="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
//装载bean(使用单例模式加载业务类)
//不需要注入值的情况下使用单标签
<bean id="beanName"| name="beanName" class="要装载的指定类的类路径(包路径)"
scope="singleton(单例模式 只拿一次对象 只new一次对象 默认是单例)"
prototype(原型模式 每次装载的对象都是新的对象)|>
//需要注入值的情况下使用双标签
<bean name="beanName" class="要装载的指定类的类路径(包路径)>
//为当前类中的成员对象注入值(赋值)
<property name="当前类中对象的成员变量名" rel="外部的beanName">
//为当前类中8+1类型的成员对象注入值(赋值)(不推荐使用)
<property name="当前类中对象的成员变量名" value="值">
<property name="当前类中对象的成员变量名">
<bean class="要注入的指定类的包路径">
</property>
</bean>
//将Spring.xml文件加载到beanfactory工厂中
ApplicationContext ac=new ClassPathXmlApplicationContext("Spring.xml");
Object beanobject = (Object) ac.getBean("beanName");
方式2:
使用注解方式装载或注入值
装载bean的注解
@component
@Repository 用于标注DAO类
@Service 用于标注业务类
@Controller 用于标注控制器servlet类
装载bean的操作:一般将注解放在类头上方
注入数据的注解(DI 为类中的成员对象赋值)
@Autowired 自动注入
@Resource