Spring学习--HelloWorld

Spring:

  1. Spring 是一个开源框架。
  2. Spring 是为简化企业级应用开发而生,使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能。
  3. Spring 是一个 IOC 和 AOP 容器框架。

Spring 框架图:

下面我们开始 Spring 第一个经典项目:HelloWorld

普通模式的Helloworld:

 1 package com.itdjx.spring.beans;
 2
 3 /**
 4  * @author Wáng Chéng Dá
 5  * @create 2017-02-28 10:38
 6  */
 7 public class HelloWorld {
 8
 9     private String name;
10
11     public String getName() {
12         return name;
13     }
14
15     public void setName(String name) {
16         this.name = name;
17     }
18
19     public void hello() {
20         System.out.println("hello " + this.getName());
21     }
22 }
package com.itdjx.spring.beans;

/**
 * @author Wáng Chéng Dá
 * @create 2017-02-28 10:39
 */
public class Main {

    public static void main(String[] args) {

        HelloWorld helloWorld = new HelloWorld();
        helloWorld.setName("itdx");
        helloWorld.hello();

    }
}

控制台输出:

hello itdx

Spring 模式下的HelloWorld:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 5
 6     <!--配饰Bean-->
 7     <bean id="helloWorld" class="com.itdjx.spring.beans.HelloWorld">
 8         <property name="name" value="String"/>
 9     </bean>
10 </beans>
 1 package com.itdjx.spring.beans;
 2
 3 import org.springframework.context.ApplicationContext;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5
 6 /**
 7  * @author Wáng Chéng Dá
 8  * @create 2017-02-28 10:39
 9  */
10 public class Main {
11
12
13     public static void main(String[] args) {
14
15         //Spring模式下
16         /**
17          * 1.创建 Spring 的 IOC 容器
18          * 2.从 IOC 容器中获取 Bean 实例
19          */
20         ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
21         HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld");
22         helloWorld.hello();
23
24     }
25 }

控制台输出:

hello String


通过控制台输出可以看出,HelloWorld 中那么属性的值在配置文件 <property name="name" value="String"/> 中就已经被赋好了,所以 HelloWorld 中 name 属性值对应 value 的值。

若是修改 Helloworld 中 setName 为 SetName1 的话,配置文件 <property name="name" value="String"/> 中的 name 属性值就得需要改成 name="name1"。

下面我们更直观的看一下Spring框架的加载流程:

 1 package com.itdjx.spring.beans;
 2
 3 /**
 4  * @author Wáng Chéng Dá
 5  * @create 2017-02-28 10:38
 6  */
 7 public class HelloWorld {
 8
 9     private String name;
10
11     public String getName() {
12         return name;
13     }
14
15     public void setName(String name) {
16         System.out.println("HelloWorld setName(): " + name);
17         this.name = name;
18     }
19
20     public void hello() {
21         System.out.println("hello " + this.getName());
22     }
23
24     public HelloWorld() {
25         System.out.println("HelloWorld Constructor...");
26     }
27 }
 1 package com.itdjx.spring.beans;
 2
 3 import org.springframework.context.ApplicationContext;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5
 6 /**
 7  * @author Wáng Chéng Dá
 8  * @create 2017-02-28 10:39
 9  */
10 public class Main {
11
12
13     public static void main(String[] args) {
14
15         //Spring模式下
16         /**
17          * 1.创建 Spring 的 IOC 容器
18          * 2.从 IOC 容器中获取 Bean 实例
19          */
20         ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
21 //        HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld");
22 //        helloWorld.hello();
23
24     }
25 }

控制台输出:


HelloWorld Constructor...
HelloWorld setName(): String

从上面的代码和控制台输出我们可以看出:在创建 Spring 的 IOC 容器时 , Spring 就已经把 HelloWorld 初始化 。首先加载无参构造器初始化 HelloWorld 对象 , 之后调用 setName() 方法给已经初始化的对象赋值。

配置文件与类的关系:

时间: 2024-12-18 18:55:54

Spring学习--HelloWorld的相关文章

Spring学习系列之——第三章:Spring中Bean的配置(一)

Spring的配置形式有两种:基于XML配置和基于注解配置. Bean的配置方式有以下几种: 通过全类名,即通过反射的方式: 通过工厂方法,有静态工厂方法和实例工厂方法: 通过FactoryBean配置: 通过XML文件配置bean 本篇文章将按照下面的目录来说明基于XML的方式配置bean JavaBean的创建 通过XML配置的方式来配置bean XMLbean的配置: spring的依赖注入的方式 属性注入 构造器注入 工厂方法注入(很少使用) 测试方法 IoC容器的实例化: Applic

Spring学习之第一个AOP程序

IOC和AOP是Spring的两大基石,AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP). 在进行 OOP 开发时,都是基于对组件(比如类)进行开发,然后对组件进行组合,OOP 最大问题就是无法解耦组件进行开发,比如我们上边举例,而 AOP 就是为了克服这个问题而出现的,它来进行这种耦合的分离.AOP 为开发者提供一种进行横切关注点(比如日志关注点)分离并织入的机制,把横切关注点分离,然后通过某种技术织入到系统中,从而无耦

Spring学习1:Spring基本特性

http://longliqiang88.github.io/2015/08/14/Spring%E5%AD%A6%E4%B9%A01%EF%BC%9ASpring%E5%9F%BA%E6%9C%AC%E7%89%B9%E6%80%A7/ Spring学习1:Spring基本特性 Spring基本特征 Spring基本特征Spring是一个非常活跃的开源框架:它是一个基于Core来构架多层JavaEE系统的框架,它的主要目地是简化企业开发.Spring以一种非侵入式的方式来管理你的代码,Spri

Spring学习系列(四)——Spring中的国际化

1.Java中的国际化国际化(Internationalization)简称 i18n,简单来说就是不同国家/地区/语言的用户,访问同一个程序,得到对应的本地化资源. 首先要确定国家/地区/语言(Locale类) 然后根据不同的Locale获取对应的本地化资源(locale敏感的). 而本地化资源相关的主要有两种:ResourceBundle和Format抽象类的子类.①Jdk为ResourceBundle抽象类提供了两个子类(ListResourceBundle和PropertyResourc

Struts2 + Spring 学习(一)搭建struts开发环境

·为Web应用增加Struts2支持 1. 登陆struts2官网下载struts2的最新版,本文所用的是Struts 2.3.16.2 我们所下载的压缩包内内容应给如下 其中,apps包含了struts2的实例应用,docs包含了struts2的相关文档,lib包含了Struts2框架的核心类库以及struts2的第三方插件类库,src包含了struc包含了struts2框架的全部源码. 2. 在Eclipse新建Web工程,将是所用到的类库放到WEB-INF/路径下 3. 编辑Web应用的w

Spring学习笔记(一)

Spring学习笔记(一) Spring核心思想: IOC:  Inversion Of Control (控制反转) / DI: Dependency Injection (依赖注入) AOP: Aspect Oriented Programming (面向切面编程) IOC 1. 简单的应用 Model package com.wangj.spring.model; public class User { private String username; private String pas

不错的Spring学习笔记(转)

Spring学习笔记(1)----简单的实例 ---------------------------------   首先需要准备Spring包,可从官方网站上下载.   下载解压后,必须的两个包是spring.jar和commons-logging.jar.此外为了便于测试加入了JUnit包.   在Myeclipse中创建Java项目.   编写一个接口类,为了简单,只加入了一个方法.   Java代码   1.package com.szy.spring.interfacebean;  

spring学习一——基本搭建,属性注入的两种方式

今天用spring 3.2.5搭建了基本的环境,spring出的太快了,前段时间才3.2.5,今儿个一瞧已经上了4的版本了,稍后给出spring的jar下载地址,毕竟现在官网上找不到了啊. 废话少说了,spring 3.2.5已经将所有的依赖包都放在了dist的lib下面,并且都有doc包和源码包,很是方便.先导入所需的jar包:core,context,beans,expression 四个jar包,除此之外,还需导入commons-logging. 下一步,新建xml文件,建议名称为 app

Spring学习(一)tomcat加载web.xml、以及项目集成Spring支持

tomcat容器加载web.xml 一. 1 .启动一个 WEB 项目的时候, WEB 容器会去读取它的配置文件 web.xml ,读取 <listener> 和 <context-param> 两个结点. 2 .紧急着,容创建一个 ServletContext ( servlet 上下文),这个 web 项目的所有部分都将共享这个上下文. 3 .容器将 <context-param> 转换为键值对,并交给 servletContext . 4 .容器创建 <li