文档章节

SSH入门系列12:spring注入的第一个程序

O
 ORZ你好
发布于 2017/08/18 15:45
字数 577
阅读 2
收藏 0
点赞 0
评论 0

1如何开发一个Spring程序

   通过spring获取对象,首先把对象注册到对象容器,然后在对象容器中获得对象。

具体步骤如下:

 1):导入相关架包  必须的有spring.jar 以及commons-logging.jar

 2):编写实体类


public class girl {
   private String girlName;

public String getGirlName() {
    return girlName;
}

public void setGirlName(String girlName) {
    this.girlName = girlName;
}
   
}

3):在spring的配置文件里applicationContext里做bean对象的注册。

  <bean  id="girl"  class="com.spring.bean.girl">
        <property name="girlName">
        <value>秋.张</value>
        </property>
    </bean>

4):在测试类通过spring来获取刚刚注册的对象

public static void main(String[] args) {
        // 用ClasspathXmlApplicationContext来加载xml内容
           ApplicationContext  ac  = new  ClassPathXmlApplicationContext("applicationContext.xml");
           girl girl =(girl)ac.getBean("girl");
           System.out.println(girl.getGirlName());
    }

spring的注入问题

所谓的注入,就是在spring中如何注册对象(构建对象的方式)同时需要的时候直接定义即可,无需在new一个

1)属性注入:在构建对象时加入属性值

  <bean  id="girl"  class="com.spring.bean.girl">
        <property name="girlName">
        <value>秋.张</value>
        </property>
    </bean>

2)构造器的注入:

girl.java添加如下含参方法

public girl(String _name){
    this.girlName = _name;
}

public girl(){
    
}

注:这里添加完含有参数的构造器,一定要新建一个无参的构造器。因为定义完含参的构造器无参的构造器会失效.

applicationContext.xml  bean中添加如下内容:

   <bean id="girl2"  class="com.spring.bean.girl">
      <constructor-arg  type="java.lang.String" value="范冰冰"></constructor-arg>

    <!-- 如果还有参数,则需要类似配置 -->
    <!-- <constructor-arg type="java.lang.Integer" value="1"></constructor-arg>
    -->
   </bean>

3:如果属性是类似list之类的集合,数据这应该如下注入:

 private  List<String>  hobbies;

get set方法。。。。

      <bean  id="girl3"  class="com.spring.bean.girl">
        <property name="girlName">
        <value>佛丁</value>
        </property>
        <property name="hobbies">
        <list>
        <value>吃饭</value>
        <value>睡觉</value>
        </list>
        </property>
    </bean>

测试代码如下:
   girl girl3 =(girl)ac.getBean("girl3");
    for (String s : girl3.getHobbies())

        {
           System.out.println(s);
            }

4:如果属性是map之类的<key,value>之类的形式

     private Map<String,Integer> score;

<bean id="girl4" class="com.spring.bean.girl">
        
        <property name="score">
            <map>
                <entry>
                    <key>
                        <value>数学</value>
                    </key>
                    <value>78</value>
                </entry>

                <entry>
                    <key>
                        <value>英語</value>
                    </key>
                    <value>87</value>
                </entry>
            </map>
        </property>
    </bean>

测试部分如下:

    girl girl4 = (girl)ac.getBean("girl4");
            //Map是通过set类型进行解析的
            Set<String> set = girl4.getScore().keySet();
            Iterator<String> keyits = set.iterator();
            while (keyits.hasNext()) {
                String key = keyits.next();
            //    System.out.println(key);
            //System.out.println(girl4.getScore().get(key));
           Object value = girl4.getScore().get(key);
             System.out.println("科目是:"+key+",分数是:"+value);
                
                
            }

 

其实spring还提供了一种简化的注入方式,

© 著作权归作者所有

共有 人打赏支持
O
粉丝 0
博文 15
码字总数 8932
作品 0
南京
spring 入门及IOC容器

Spring 一.Spring,原意“春天”,是一种轻量级容器框架,所谓轻量级就是依赖比较少,侵入性较低,其核心就是1. IOC(Inversion of Control)/DI(Dependency Injection)IoC的核心思想是通过消...

天国使者125
2013/06/15
0
0
项目中SpringMVC、Spring和Struts的区别讲解

导读:近期做到的项目中,用到的框架师SSM(SpringMVC+Spring+Mybatis),那么在这之前用过SSH,这里主要是区分一下SpringMVC和Struts,但是由于SpringMVC和Spring真的也挺容易迷糊的,所以,...

yiguang_820的博客
2017/12/11
0
0
SpringBoot详解(一)-快速入门

SpringBoot详解系列文章: SpringBoot详解(一)-快速入门 SpringBoot详解(二)-Spring Boot的核心 SpringBoot详解(三)-Spring Boot的web开发 SpringBoot详解(四)-优雅地处理日志 一、S...

CSDN_LQR
2017/08/30
0
0
Spring经典视频教程大集合

Spring经典视频教程大集合 Spring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Sprin...

IT小白白
2012/10/08
0
0
spring oxm入门(包含demo)

O/X Mapper 是什么? Spring 3.0 的一个新特性是 O/X Mapper。O/X 映射器这个概念并不新鲜,O 代表 Object,X 代表 XML。它的目的是在 Java 对象(几乎总是一个 plain old Java object,或简...

疯狂的兔子
2014/09/09
0
0
spring在SSH框架中的作用

从网上了搜了下sring 在ssh中起的作用,在百度知道上看到下面的回答,觉得简单移动,记录下来备查,原文地址: http://zhidao.baidu.com/link?url=JiONrax-Flkpi5hqsg1HQOrMm1Dk8U1WT88l5T0...

北方攻城师
2014/08/02
0
0
SSH框架之Spring4专题2:Spring与loC

控制反转(loC,Inversion of Control),是一个概念,是一种思想。指的是将传统上由程序代码直接操纵的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转...

糖醋白糖
06/26
0
0
有关Spring3.x 整合myBatis3.1的轻量级框架简要说明

主题:有关Spring3.x 整合myBatis3.1的轻量级框架 对于现在主流的j2ee企业级开发而言,ssh(struts+hibernate+spring)依然是一个事实的标准。 由struts充当的mvc调度控制;hibernate的orm持...

后海
2013/02/01
0
0
在SSH框架中使用Spring的好处

在SSH框假中spring充当了管理容器的角色。我们都知道Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的SQL语句。Struts是用来做应用层...

空_明
2013/03/06
0
0
Seam - 无缝集成 JSF,第 2 部分: 借助 Seam 进行对话

级别: 中级 Dan Allen (dan.allen@mojavelinux.com), 高级 Java 工程师, CodeRyte, Inc. 2007 年 6 月 04 日 转自:http://www.ibm.com/developerworks/cn/java/j-seam2/ 原文链接:http://......

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CoreText进阶(五)- 文字排版样式和效果

CoreText进阶(五)- 文字排版样式和效果 效果 以下是三个设置了不同属性的效果图 第一个设置了文字颜色为红色,字体为16号 第二个设置了文字颜色为灰色,字体为16号,对其为居中 第三个设置...

aron1992
28分钟前
1
0
10.23 linux任务计划cron~10.27 target介绍

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是...

洗香香
38分钟前
0
0
告警系统主脚本、告警系统配置文件、告警系统监控项目

20.20 告警系统主脚本 告警系统主脚本 main.sh内容 #!/bin/bash#Written by aming.# 是否发送邮件的开关export send=1# 过滤ip地址export addr=`/sbin/ifconfig |grep -A1 "en...

lyy549745
41分钟前
0
0
Don’t Repeat Yourself

在软件工程中,Don’t Repeat Yourself(DRY)是软件开发的原则,旨在减少重复,用抽象代替它,使用数据规范化来避免冗余。 这个原则在维基百科上是说是由Andy Hunt和Dave Thomas《The Pragmat...

woshixin
43分钟前
0
0
搭建webpack项目框架

作者:汪娇娇 时间:2018年6月4日 一、说明 随着业务发展和前端人员的增加,搭建一个通用框架以及制定统一规范就成了必然。对于选型这方面,一开始好像就没考虑其他框架,直接选了webpack。w...

娇娇jojojo
50分钟前
0
0
Java基础——面向对象(内部类)

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 内部类: 1.有名内部类 2.无名内部类 内部类申请...

凯哥学堂
58分钟前
0
0
HttpClient内部三个超时时间的区别

RequestConfig requestConfig = RequestConfig.custom() .setConnectionRequestTimeout(config.connReqTimeout) //从连接池中获取连接的超时时间 ......

1713716445
今天
0
0
每天一个命令SCP

每天一个命令:SCP scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速...

河图再现
今天
0
0
cron/chkconfig/systemd/unit/target

linux任务计划 : cron工具 任务计划在运维工作中用到的比较多,大部分系统管理工作都是通过定期自动执行某个脚本来完成。 查看linux中任务计划的配置文件: /etc/crontab [root@yolks-001 ~]...

Hi_Yolks
今天
1
0
ftp攻略

Vsftpd完全攻略(一)ftp原理与vsftp安装:https://www.iyunv.com/thread-44698-1-1.html Vsftpd完全攻略(二)设置匿名用户也支持下载和上传与创建目录:https://www.iyunv.com/forum.php?mo...

寰宇01
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部