前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >创建第一个spring HelloWorld程序

创建第一个spring HelloWorld程序

作者头像
微醺
发布2019-01-17 13:06:20
3920
发布2019-01-17 13:06:20
举报

什么是spring

spring是一个轻量级的DI/IOC和AOP容器的开源框架。 DI:Dependency Injection(依赖注入) IoC:inverse of control(控制反转) AOP: Aspect-Oriented Programming(面向切面编程) DI指spring创建对象的过程中,将对象依赖属性(简单值,集合,对象)通过配置设置给该对象 IoC:控制反转,就是将原本在程序中手动创建对象的控制权交给spring容器来做。 AOP:aop采取横向抽取机制,将分散在各个地方的重复的代码提取出来,在编译运行时将这些代码应用到需要执行的地方。

导入依赖的jar包

使用spring,首先导入jar包 spring-core 使用spring的核心jar包 spring-context spring-beans commons-logging

创建配置文件

创建名为applicationContext.xml的配置文件,使用spring.xml也可以,就是个名字,不影响使用。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">    
       <!--
bean
id/name 给bean元素设定标识 id唯一,name不唯一
class 把哪一个类交给spring容器去管理
-->
<bean id="helloWorld" name="hello world helloWorld2,helloWorld3;helloWorld4" class="com.teng.HelloWorld" scope="prototype">
</bean>
 <bean id = "hw" class="com.teng.HelloWorld" scope="prototype">
代码语言:javascript
复制
  <!--
  第二种形式,通过有参构造注入,前提:必须有有参构造
  index 通过参数的索引注入
  type  通过参数的类型注入
  -->
 <!-- <constructor-arg index="0" value="1"></constructor-arg>
  <constructor-arg index="1" value="向阳"></constructor-arg>-->
  <constructor-arg type="int" value="23"></constructor-arg>
  <constructor-arg type="java.lang.String" value="菲菲"></constructor-arg>

测试类

代码语言:javascript
复制
package com.teng;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {

    @org.junit.Test
    public void test1(){
       //spring 从spring容器中获取对象
       //读取spring配置文件,创建bean工厂
        BeanFactory beanFactory = new ClassPathXmlApplicationContext("/applicationContext.xml");
        HelloWorld hell = (HelloWorld) beanFactory.getBean("helloWorld");
        HelloWorld hell1 = (HelloWorld) beanFactory.getBean("hello");
        //HelloWorld hell2 =  beanFactory.getBean(HelloWorld.class);
        HelloWorld hell3 = beanFactory.getBean("hw",HelloWorld.class);
        hell.sayHell();
    }
}

beanFactory可以通过三种方法获取对象 1,beanFactory.getBean(“id名/name名”);通过bean名获取 2,beanFactory.getBean(对象.class);通过class获取 3,beanFactory.getBean(“id名/name名”,对象.class);通过name+class 官方推荐

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年11月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是spring
  • 导入依赖的jar包
  • 创建配置文件
  • 测试类
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档