初学Java ssh之Spring 第二篇

  上一篇我们成功搭建好了spring开发的环境,接下来一起看看spring有什么神奇的地方吧(本人也是新手,有不太对的地方希望大神给指出便于修改呢,谢谢大家)。

  之前听说spring是在对xml文件的应用比较多,但是具体怎么用一直都是云里雾里,自己在刚开始的时候学习的时候,因为不是直接新建的web项目,没有自动生成applicationContext.xml,那会不知道这个配置文件是多么的重要,所以在写了如下一段代码之后,运行时,总是报错,还曾傻傻地以为该文件会自动生成,现在想想真可笑。不过如果用myeclipes中自动导入spring架包的功能的话,会自动生成的。现在提醒大家,对于applicationContext.xml一定要首先确认其的存在,再进行接下来的代码开发。(对于这种问题,大神们就不必细看了)

  applicationContext.xml代码我已在上一篇博客中给出,我存放在src目录下,在此我给出链接:http://www.cnblogs.com/speedwade/p/3968101.html

  接下来是我写的一个测试的小程序,看看,spring是否已经成功配好,路径我放在src目录下com.sep.basic包下,新建一个class类,命名为SpringTest。因为我已建好,所以会提示文件已存在,第一次新建时不会有该提示出现,如图

  然后其中代码为

 1 package com.sep.basic;
 2
 3 import org.springframework.context.ApplicationContext;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5
 6 public class SpringTest {
 7     public static void main(String args[])
 8     {
 9         //创建applicationcontext
10         ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
11         //输出spring容器
12         System.out.println(ctx);
13     }
14 }

  在新建好的文件上鼠标右键点击Run As/Java Application后,在控制台会出现类似如下代码:

1 org[email protected]b749757: startup date [Mon Sep 15 17:21:18 CST 2014]; root of context hierarchy

  下面我们来解释一下,在SpringTest.java中,我们仅仅创建了ApplicationContext的实例,而他正是Spring容器,只有获得了容器,我们才能成功访问容器中的Bean。输出的正是我们创建的ApplicationContext实例。Spring中大部分功能都是通过这个容器来实现的。所以可见它的强大。

  下面我们来新建一个简单的bean来看看Spring是怎么工作的。

  首先新建一个简单的java类文件,命名为FirstBeanTest,其路径为com.sep.basic.service包下。其代码为:

 1 package com.sep.basic.service;
 2
 3 public class FirstBeanTest {
 4     private String name;
 5     //name属性的setter方法
 6     public void setName(String name) {
 7         this.name = name;
 8     }
 9     //测试类的info方法
10     public void Info()
11     {
12         System.out.println("FirstBean‘s Name is "+name);
13     }
14 }

  上面给出了一个成员变量与他的set方法。

  然后在applicationContext.xml中添加下面代码:

1 <!-- 将FirstBeanTest类部署到Spring中的bean中 -->
2     <bean id="firstBeanTest" class="com.sep.basic.service.FirstBeanTest">
3         <property name="name" value="success"></property>
4     </bean>

  接下来再次回到SpringTest文件中增加代码如下:

1 FirstBeanTest fbt = ctx.getBean("firstBeanTest",FirstBeanTest.class);
2
3 fbt.Info();

  好,现在运行,可以看到输出语句:FirstBean‘s Name is success

  是不是很神奇?我们并没有手动去创建FirstBeanTest的实例,为什么还会成功的为其赋值呢?这就是Spring的职责了,我们只需要通过spring容器来就可以获得实例对象,并且可以赋值,这都是spring的功劳,spring会根据配置信息,获得对应的实例,并且为其设置对应的属性值。

  这种现象就是我们经常听说的控制反转(IOC)。

  

时间: 2024-10-20 19:30:34

初学Java ssh之Spring 第二篇的相关文章

初学Java ssh之Spring 第一篇

之前虽然毕业前实习的工作是使用的C# .NET语言,但是,毕业后还是果断应聘Java.虽然自己对Java的理解不如C#深入,只是对基础知识比较熟悉,但还是义无返顾了··· 虽然应聘经历比较坎坷,但最终还是成功入职了. 刚入职,再加上经验不足,所以最近任务比较少,这样就有大把时间自学了,得抓紧时间积累知识啊,废话少说,步入正题. 对于java,自己的掌握仅限于基础知识,对于框架什么的几乎没有使用过,只大概知道ssh是企业常用的开发框架,struts+hibernate+spring是一套很不错的框

初学Java ssh之Spring 第三篇

在这篇中,我学习了依赖注入的两种方式:设值注入和构造注入. 在我们以前的思维中,如果调用一个类时,我们都需要将其手动实例化,当我们创建被调用的工作不需要我们完成时,这就是控制反转,当这个将被调用的实例过程被Spring完成,并注入调用者时,这就是依赖注入. 一.先来学习学习设值注入: 我们先来新建两个接口规范,分别命名为Computer.java 和 Key.java,其路径均在com.sep.basic.service包下: Computer.java代码如下: 1 package com.s

初学Java ssh之Spring 第四篇

今天我来学习学习Spring中Bean. 在Spring中原来还有<beans.../>标签啊,它相当于<bean.../>标签的老爸,老爸可以有很多个儿子,但是老爸只有一个哦. 也就是说一个<beans.../>标签内可以有多个<bean...>标签,每个<bean.../>标签代表一个java实例. 定义<bean...>时,需要注意两个属性,一个是id,一个是class. id是<bean.../>标签的唯一标示符,

转载:eclipse 搭建SSH项目(第二篇,有具体的项目例子)

原文地址:http://blog.csdn.net/yeohcooller/article/details/9316923 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合.创建Struts项目,整合Hibernate,整合Spring.最后总结如何熟练创建SSH项目. 仅是创建SSH项目,对于其他的扩展例如Struts的国际化,Hibernate的缓存优化,Spring的AOP等,本博文涉及不到.想学习更多的东西请搜索其他博文. 本项目的环境:Windows 8-64位

Java SSH (strusts2+spring+hibernate )完结项目源码 mysql

Java SSH (strusts2+spring+hibernate ) 完结项目源码 mysql 用来学习 毕业设计都可 继续二次开发也行 提供文档 数据结构 下载地址: 联系QQ 313596790

Java学习笔记——浅谈数据结构与Java集合框架(第二篇、Queue、Set)

江南好,何处异京华. 香散翠帘多在水,绿残红叶胜于花.无事避风沙. --<纳兰词> 诗词再好,大图不能忘 上大图: 先说说栈和队列: 栈就好比手枪的弹匣,你往里面压入子弹,最先压入的子弹就到了弹匣最底部的位置,最后压入的子弹在弹匣顶部.发射子弹的时候每次将弹匣顶部的子弹弹出发射.无法越过顶部子弹发射下面的子弹. 栈(stack)是限定仅在表尾进行插入和删除操作的线性表,LIFO 队列就跟上学那会儿排队打饭一样,但是不能加塞儿. 队列(queue)是只允许在队列一端进行插入操作,另一端进行删除操

JAVA企业应用【第二篇】TOMCAT安装

1.软件准备: JDK下载:http://www.oracle.comTomcat下载:http://tomcat.apache.org/ 2.部署java环境: mkdir -p /application/tools/ && cd /application/tools/ tar xf jdk-8u60-linux-x64.tar.gz -C /application/ ln -s /application/jdk1.8.0_60 /application/jdk sed -i.ori '

spring第二篇

上次写到spring是什么,说了很多的废话,那么从现在起 来看看spring如何使用  写几个例子 1 如何使用 spring 1.1导包 在导入四个包的基础上再导入日志包总共六个包 如下图 1.2 导完包后 创建User对象 代码如下 package com.lijun.bean; public class User { public User() {} private String name; private int age; private Car car; public User(Str

Spring Cloud第二篇 | 使用并认识Eureka注册中心

? 本文是Spring Cloud专栏的第二篇文章,了解前一篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 ?? 一.SpringCloud快速开发入门 SpringCloud是构建在SpringBoot基础之上的 1.创键一个服务提供者(springcloud-service-provider) 1-1.创键提供者类 @RestController @RequestMapping("/provider") pub