什么是Spring?
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
开发步骤
1.引入依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.2.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.0.RELEASE</version> </dependency>
2.创建一个实体类HappyService
package cn.happy.day01; /** * Created by Administrator on 2018/3/3. */ public class HappyService { private String info; private Integer age; public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
3.在resources文件下新建一个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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--唯一标识--> <!--实体类全类名--> <bean id="service" class="cn.happy.day01.HappyService"> <!-- property代表HappyService类的一个属性 name 为属性的名称 value 属性的值 String类型和基本类型(基本类型)是用value来进行赋值的 --> <!--实体类属性名--> <!--给属性赋值--> <property name="info" value="小李"></property> </bean> </beans>
4.创建测试类
@Test public void Spring(){ ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml"); HappyService service=(HappyService)ctx.getBean("service"); System.out.println(service.getInfo()); }
ApplicationContext的中文意思是“应用前后关系”,它继承自BeanFactory接口
getBean方法参数就是在ApplicationContext.xml中的唯一标识,返回Object类型
5.测试结果
applicationContext.xml中ref的使用
ref是引用的意思,就是引用其它bean。
<bean id="paper" class="cn.happy.day02printer.paper.A4paper"> </bean> <bean id="Ink" class="cn.happy.day02printer.ink.ColorInk"> </bean> <bean id="printer" class="cn.happy.day02printer.printer.printer"> <property name="ink" ref="Ink"></property> <property name="paper" ref="paper"></property> </bean>