标签:实践 根据 基本数据类型 体系 struct 基本 dep 解析 property
Spring框架
##1,首先我们来说下spring框架的概念,让你有个大概了解:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
2,添加配置文件
模板:
<?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">
</beans>
3,通过创建spring容器对象读取配置文件,然后通过该对象去获取
//1.使用 ApplicationContext 接口,就是在获取 spring 容器
ApplicationContext ac = new ClassPathXmlApplicationContext("配置文件名称(.xml)");
//2.根据 bean 的 id 获取对象
实体类名称 实体类对象 = ac.getBean("实体类",实体类.class);
##6,通过以下几种方式给spring添加依赖注入
搭建环境:
以上是各种数值类型的,创建实体类product
private Integer id;//整数型 private String name;//字符串型 private Date pdate;//日期类 private Character hot;//单字符型 private List<String> list;//list集合 private Set<String> set;//set集合 private String[] strs;//数据类型 private Map<String ,String>map;//map集合类型 private Properties properties;//properties类
~1,通过构造函数添加依赖注入
<!--1,用构造函数添加依赖注入-->
<bean id="product" class="cn.liurui.domain.Product">
//name也可以用index索引表示,同样可以表示0代表id,1代表name,不过建议大家用name
<constructor-arg name="id" value="1"></constructor-arg>
<constructor-arg name="name" value="ruirui"></constructor-arg>
//value只适用于基本数据类型和字符串,其他类型的我们用ref,同时还要另外新建bean
//<bean id="pdate_st" class="java.util.Date"></bean>
<constructor-arg name="pdate" ref="pdate_st"></constructor-arg>
<constructor-arg name="hot" value="是"></constructor-arg>
//同时如果是集合,我们按照以下方式进行赋值
<constructor-arg name="list">
<set>
<value>瑞瑞</value>
<value>豪豪</value>
<value>哈哈</value>
</set>
</constructor-arg>
<constructor-arg name="set">
<set>
<value>瑞瑞</value>
<value>豪豪</value>
<value>哈哈</value>
</set>
</constructor-arg>
<constructor-arg name="strs">
<set>
<value>瑞瑞</value>
<value>豪豪</value>
<value>哈哈</value>
</set>
</constructor-arg>
<constructor-arg name="map">
<props>
<prop key="1">popo</prop>
<prop key="2">asdd</prop>
<prop key="3">dfgsd</prop>
</props>
</constructor-arg>
<constructor-arg name="properties">
<map>
<entry key="1" value="吱吱"></entry>
<entry key="2" value="吱asdf"></entry>
<entry key="3" value="sdfasdf"></entry>
</map>
</constructor-arg>
</bean>
测试类:
@Test
public void test01(){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("applicationConfig.xml");
Product p = ac.getBean("product", Product.class);
Integer id = p.getId();
System.out.println(id);
System.out.println(p.getName());
System.out.println(format.format(p.getPdate()));
System.out.println(p.getHot());
System.out.println(p.getList());
System.out.println(p.getSet());
System.out.println(p.getStrs()[0]);
System.out.println(p.getMap());
System.out.println(p.getProperties());
}
打印结果:
1
ruirui
2019-08-10 10:36:17
是
[瑞瑞, 豪豪, 哈哈]
[瑞瑞, 豪豪, 哈哈]
瑞瑞
{3=dfgsd, 2=asdd, 1=popo}
{3=sdfasdf, 2=吱asdf, 1=吱吱}
~2,通过set方式添加依赖注入:
<!--2,用set方式依赖注入-->
<bean id="product02" class="cn.liurui.domain.Product">
<property name="id" value="1"/>
<property name="name" value="ruirui"/>
<property name="pdate" ref="pdate_st"/>
<property name="hot" value="是"/>
<property name="list">
<set>
<value>,,</value>
<value>/?</value>
</set>
</property>
<property name="set">
<set>
<value>,,</value>
<value>/?</value>
</set>
</property>
<property name="strs">
<set>
<value>,,</value>
<value>/?</value>
</set>
</property>
<property name="map">
<props>
<prop key="1">2345</prop>
</props>
</property>
<property name="properties">
<map>
<entry key="1" value="234"></entry>
</map>
</property>
</bean>
其他的同上
~3,通过P名称空间添加依赖注入:
在配置文件中我们需要添加一条:(红色部分)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
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">
<!--3,用p方式注入-->
<bean id="product03" class="cn.liurui.domain.Product" p:id="1" p:name="ruirui"
//红色部分特别注意,上面说过,不是基本数据类型和字符串类型的我们用ref,这里同样
p:pdate-ref="pdate_st" p:hot="是"></bean>
输入的结果和上面的一样
标签:实践 根据 基本数据类型 体系 struct 基本 dep 解析 property
原文地址:https://www.cnblogs.com/liurui-bk517/p/11330795.html