Spring学习笔记(3)——快速入门
项目目录如下:
Say.java为主函数通过ApplicationContext创建对象,利用方法ClassPathXmlApplicationContext访问配置文件Applicationcontext.xml利用ac对象调用getBean获取Bean.利用getter&setter,获取变量的值。
HelloWorld.java:
- public class HelloWorld {
- private String saySome;
- public String getSaySome() {
- return saySome;
- }
- public void setSaySome(String saySome) {
- this.saySome = saySome;
- }
- public void say(){
- System.out.println("练书法:"+saySome);
- }
- }
Say.java:
红色部分是重点!
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
HelloWorld hw = (HelloWorld) ac.getBean("say");
相当于java中的程序HelloWorld hw = new HelloWorld();为什么Spring中将java的创建对象设计的这么复杂,原因往后看!
- package com.haixu.service;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- public class Say {
- public static void main(String[] args) {
- ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
- HelloWorld hw = (HelloWorld) ac.getBean("say");
- hw.say();
- }
- }
applicationContext.xml:
红色部分,标签里bean的id指定了包com.haixu.service下的类名HelloWorld,这里的class必须要写,而且要写对,不然,bean就会找不到对应的变量名也不会输出结果,另外,id的名字任意的,但习惯上最好是类名的首字母小写,类似于这里的HelloWorld类,id可写成:helloWorld,这样,在主函数Say中就不会写错。另外非常重要的一点是:在Say.java中的ac.getBean("say");中的say正是applicationContext.xml中Bean里的id值,千万谨记,因为Say中寻找Bean,就是通过这个id找到的。
读到这也许会有点懵,再仔细读一遍上边的,然后,再看一下这个applicationContext.xml中bean标签中id就是代表了HelloWorld.java这个类,并且<property>标签中的name=“saySome“,指定的是HelloWorld.java中的变量,并通过了getter&setter的处理,这里的name必须与HelloWorld中的变量名相同,不能错误。
<value>元素中的值,是为变量saySome赋值用的。也就是说:这里的saySome=HelloWorld!
- <?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:p="http://www.springframework.org/schema/p"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
- <bean id="say" class="com.haixu.service.HelloWorld">
- <property name="saySome">
- <value>HelloWorld!</value>
- </property>
- </bean>
- </beans>
以上就是一个简单地输出HelloWorld利用Spring来获取Bean的小案例,通过次例子,我们可以发现,我们并没有利用New方法来创建对象,因为利用new会增加程序的耦合性,因此,我们可以看出Spring正是提高了低耦合。