文档章节

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

O
 ORZ你好
发布于 2017/08/18 15:45
字数 577
阅读 3
收藏 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
spring cloud 入门系列:总结

从我第一次接触Spring Cloud到现在已经有3个多月了,当时是在博客园里面注册了账号,并且看到很多文章都在谈论微服务,因此我就去了解了下,最终决定开始学习Spring Cloud。我在一款阅读App...

JAVA开发老菜鸟
07/20
0
0
SpringBoot详解(一)-快速入门

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

CSDN_LQR
2017/08/30
0
0
项目中SpringMVC、Spring和Struts的区别讲解

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

yiguang_820的博客
2017/12/11
0
0
Spring经典视频教程大集合

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

IT小白白
2012/10/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day150-2018-11-17-英语流利阅读-待学习

歪果仁也疯狂:海外版抖音的征途 毛西 2018-11-17 1.今日导读 海外版抖音 TikTok 于 2017 年 5 月上线海外,至今覆盖全球 150 多个国家和地区,月活跃用户数已突破 5 亿。然而,“出海”的抖...

飞鱼说编程
今天
4
0
分布式学习最佳实践:从分布式系统的特征开始(附思维导图)

什么是分布式系统 回到顶部   分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法...

dragon_tech
今天
4
0
TOKEN设计

TOKEN设计 Api_Token 首先需要知道API是什么? API(Application Programming Interface)即应用程序接口。你可以认为 API 是一个软件组件或是一个 Web 服务与外界进行的交互的接口。而我们在...

DrChenXX
今天
3
0
浅谈“李氏代换”——从纪念金庸和斯坦李说起

李氏代换(LSP)简介 李氏代换是软件设计的一个原则,又名依赖倒转原则或依赖倒置原则,其衍生原则有接口分离原则等。该原则由Barbara Liskov于1988年提出。 该原则指出,程序中高级别的元素...

SamYjy
今天
33
0
JavaScript实现在线websocket WSS测试工具 -toolfk程序员工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。T...

toolfk
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部