Spring中Bean的三种装配方式
1. XML配置文件方式
2.@注解方式
3.Java代码方式
4.网络资料
XML配置文件形式
首先引入 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
</beans>
1.构造注入方式
<bean id="唯一ID" class="类全限定名">
普通数据类型注入(八大基本数据类型+String)
<constructor-arg name="属性名" value="值"></constructor-arg>
引用数据类型注入 此处需将要引用的bean也交给Spring容器管理
<constructor-arg name="属性名" ref="引用对象的ID"></constructor-arg>
List属性注入
<constructor-arg name="属性名">
<list>
<value></value>
</list>
</constructor-arg>
Map属性注入
<constructor-arg name="属性">
<map>
<entry key="key键" value="value值"></entry>
</map>
</constructor-arg>
property属性注入
<constructor-arg name="属性">
<props>
<prop key="key键">value值</prop>
</props>
</constructor-arg>
2.属性注入方式
<bean id="唯一ID" class="类的全限定名">
普通数据类型注入(八大基本数据类型+String)
<property name="属性名" value="值"></property>
//引用数据类型注入 此处需将要引用的bean也交给Spring容器管理
<property name="属性名" ref="引用对象的ID"></property>
List属性注入
<property name="属性名">
<list>
<value></value>
</list>
</property>
Map属性注入
<property name="属性">
<map>
<entry key="key键" value="value值"></entry>
</map>
</property>
property属性注入
<property name="属性">
<props>
<prop key="key键">value值</prop>
</props>
</property>
</bean>
@注解方式
1.配置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:aop="http://www.springframework.org/schema/aop"
xmlns:context="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
https://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="要扫描的包"></context:component-scan>
</beans>
2.声明Bean
@Component
public class 类名{
@Value(value = "")
private int 属性;
@AutoWired(required=boolean)
@Qualifier(value = "")
private Class 引用的属性;
@Resource(name ="")
private Class 引用的属性;
}
Java方式
1.配置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:aop="http://www.springframework.org/schema/aop"
xmlns:context="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
https://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="要扫描的包"></context:component-scan>
</beans>
Java 文件
@Configuration
public class JavaConfig {
@Bean(name = "",initMethod = "初始化时执行方法",destroyMethod = "销毁时执行方法")
public Persion getPersion(){
return new Persion();
}
}