Spring学习01(简介+helloworld)

Spring概念:

1、Spring是一个开源的轻量级框架。
2、Spring主要核心是:

(1).控制反转(IOC):以前传统的java开发模式中,当需要一个对象时我们,我们会自己使用new或者getInstance等直接或者间接调用构造方法创建一个对象,而在Spring开发模式中,Spring容器使用了工厂模式为我们创建了所需要的对象,我们使用时不需要自己去创建,直接调用Spring为我们提供的对象即可,这就是控制反转的思想。实例化一个java对象有三种方式:使用类构造器,使用静态工厂方法,使用实例工厂方法,当使用spring时我们就不需要关心通过何种方式实例化一个对象,spring通过控制反转机制自动为我们实例化一个对象。

(2).依赖注入(DI):Spring使用java Bean对象的Set方法或者带参数的构造方法为我们在创建所需对象时将其属性自动设置所需要的值的过程就是依赖注入的基本思想。

(3).面向切面编程(AOP):在面向对象编程(OOP)思想中,我们将事物纵向抽象成一个个的对象。而在面向切面编程中,我们将一个个对象某些类似的方面横向抽象成一个切面,对这个切面进行一些如权限验证,事物管理,记录日志等公用操作处理的过程就是面向切面编程的思想。

3、在Spring中,所有管理的对象都是JavaBean对象,而BeanFactory和ApplicationContext就是spring框架的两个IOC容器,现在一般使用ApplicationnContext,其不但包含了BeanFactory的作用,同时还进行更多的扩展。


第一个Spring程序(HelloWorld)

完整项目结构如下:
这里写图片描述

1、新建一个java project。spring其实就是一个容器,并不是只有在web项目中才能起作用。

2、新建一个lib文件夹,放入spring需要的基本的jar包,然后add to bulid path

3、新建HelloWorld类

package com.gxj.one;

public class HelloWorld {
    public void sayHello() {
        System.out.println("hello world");
    }
}

4、新建Spring配置文件applicationContext.xml

<?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="helloWorld" class="com.gxj.one.HelloWorld"></bean>

</beans>

5、新建测试类,右键testHello进行单元测试

package com.gxj.one;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HelloTest {
    @Test
    public void helloTest() {
        //创建spring的IOC容器对象
        //Application是spring中的接口
        //ClassPathXmlApplicationContext,可以获取applicationContext.xml文件,如果文件放在src下就不需要加路径,如果放在包下,需要加路径
        ApplicationContext context = new ClassPathXmlApplicationContext("com/gxj/one/applicationContext.xml");
        HelloWorld hello =(HelloWorld) context.getBean("helloWorld");
        hello.sayHello();
    }
}

结果如下:
这里写图片描述

将对象的创建交给Spring进行管理,而不是与之前一样用new进行创建,这样降低了代码之间的耦合性(高内聚,低耦合)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值