idea2017新建Spring项目

第一步New--->project


第二步,点击NEXT就可以等待jar包导入

第三部,创建两个类作为测试,Alt+Insert创建新类,sout创建输入语句,psvm创建主方法


运行结果


上面的测试时没有用SPRING框架的,只是用了set方法注入进入的参数值。下面我们来试试采用SPRING框架的程序

AOP和IOC是spring的核心内容

我们将类注入到spring-config.XML里面,通过IOC容器对象拿类的对象,就不要像以前一样用到了在new一个类对象。

<?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="helloword" class="HelloWord">
        <property name="name" value="zhanglu"></property>
    </bean>
</beans>

public class Main {
    public static void main(String[] args) {
        //创建SpringIOC容器对象
        ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
        //从IOC容器里面获取BEAN实例
        HelloWord helloWord=(HelloWord) context.getBean("helloword");
        helloWord.sayHello();
    }
}

以上就是利用了spring框架的第一个程序。在创建IOC容器对象的时候会自动的调用HelloWord类的构造器来对容器里面的bean初始化,然后找到bean里面的name对应的方法进行调用。

那这个IOC容器有什么好处呢,假设有两个类A,B我们要将A的对象赋值给B,通常我们这样写

A a=new A();
B b=new B();
b.set(a);

现在我们在容器里面就给A和B建立关系,只需B b=new B()即可。这里才采用了IOC容器。这个容器的前生分为三次层次

1)分离接口与实现,我有一个服务类,用来打印报表,我可能打印的是pdf的,也可能是html的,pdf与html是一个报表接口的实现类,我的服务类在打印报表的时候就需要知道报表的这三个类,这个类之间的耦合度就变大了。

2)工厂设计模式:我们给报表实现类弄一个工厂类,工厂负责生成接口的实现类,服务类就只需知道工厂类和接口类

3)控制反转:我只需知道接口,以前的工厂类就会自动把我要的注入给我


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值