spring入门Hello Spring

暑期实习的时候参与过一个ssm项目的开发,但是开发过程中都是在完成controller和service对于spring基本不理解,刚好做毕设的时候想使用下ssm框架,但是跟着网上的各种教程总是出现各种错误,无奈之下,打算从头学起,打好基础才能知道如何解决错误。

spring的核心就是IOC和AOP,从入门Hello spring!一步步学习下IOC(控制反转,好像也叫作依赖注入)到底是个什么东西!

首先创建一个动态web工程。

这里直接贴上最终项目结构:

spring入门Hello Spring

向lib中导入spring的4个核心jar包(当然这是是不够的)卖个小关子。

在src下新建一个包,然后创建一个Hello.java类

package com.cumt.spring;

public class Hello {
public void say() {
System.out.println("Hello Spring!");
}

}

然后,新建一个xml文件,在这里命名为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="hello" class="com.cumt.spring.Hello"></bean>

</beans>

在这里多说一句,这个配置文件的约束可以在spring-framework-4.3.7.RELEASE\docs\spring-framework-reference\html目录下的index.html下的configuration metadata中找到

spring入门Hello Spring

spring入门Hello Spring

接着,就是新建一个HelloTest.java

package com.cumt.spring;


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


public class HelloTest {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
Hello hello = (Hello) applicationContext.getBean("hello");
hello.say();
}

}

最后就是愉快的测试了.....

spring入门Hello Spring

日常找问题....

原因是没有导入commons-logging-x.xjar 的jar包。

导入后完整的结构应该是这样的:

spring入门Hello Spring

再次运行HelloTest.java

spring入门Hello Spring

终于出结果了。

目前的理解就是通过控制反转(依赖注入)我们不需要通过原始的new 方法去创建一个对象,根据书本的解释这样做的好处是可以解耦合。