Spring学习笔记(一)----使用IDEA编写Spring Hello World

1.版本说明

                   IDE:Idea 2017

                   Spring:5.0.1 (如果你使用了Spring4.0以上版本,则需要保证JDK版本在1.8及以上!)

                   JDK:1.8

2.配置Spring环境

(1)配置前准备:

Spring的jar包,以及Spring的依赖包common-logging。你可以前往官方网站下载zip压缩包:

commonlogging下载:

http://commons.apache.org/proper/commons-logging/download_logging.cgi

Spring 下载:进入该站后点击你需要的版本,下载其中的“spring-framework-(版本号).RELEASE-dist.zip”,里面包含了类文件和doc文档

http://repo.spring.io/release/org/springframework/spring/

(2)创建Spring  Hello World

①创建JavaWeb项目

file --->new project --->选择java ee下的Web Application

②next--->编辑你的项目名称---->finish

③创建完成后,在项目的的web目录下的WEB-INF下创建lib、classes文件夹,

    用于存放下载的Spring和common-logging。

④Project Structure配置

      file ----> Project Structure  进入Modules

      1)选择Path,将路径指向刚刚建立的classes的路径(该步骤是设置class文件的输出路径)

      2)选择dependcies,点击右边 “+” 号,选择JAR or directories,路径指向刚刚建立的lib文件夹(该步骤是设置Project的外部依赖包的路径)

     3)当然,作为Java Web项目,后续还有其他配置。但是,仅仅做demo,Project Structure到这里可以了。点击apply。你会发现WEB-INF下多了classes文件夹

⑤将Spring jar包和common jar包copy到lib文件夹下

将下载的zip包解压后,如下:其中libs目录下是所有jar包,docs中有api文档。

我们需要将libs目录下所有以 ******.RELEASE.jar结尾的文件以及commons-logging-1.x.jar copy到Project中的lib目录下

注意:在Idea中 ,所有外部依赖的jar包在加入到project中后  ,要选中该jar 右键点击“add as library”,或者在加入全部的jar后,右键lib文件夹,“add as library”。

值得一说的是:docs ---> javadoc-api 下有index.html,打开它就可以在浏览器出查看Spring的API了

⑥编写demo.java

我的项目结构如下,主要是为了接着往后面学习,所以创建了很多包

一共需要三个文件:User.java UserTest.java,以及Spring Bean的配置文件----UserBean.xml

User.java

package com.test.springtest.test;

public class User {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

UserTest.java

package com.test.springtest.test;

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

public class UserTest {

    public static void main(String[] arg){

        
        //一般情况下的创建新对象方式
        User user1 = new User();
        user1.setName("张三");
        System.out.println("----使用new的方式创建对象----");
        System.out.println("user1's name is:" + user1.getName());

        /*
*
使用框架的API ClassPathXmlApplicationContext() 来创建应用程序的上下文。
*这个 API 加载 beans 的配置文件并最终基于所提供的 API,它处理创建并初始化所有的对象,即在配置文件中提到的 beans。
*/ ApplicationContext context = new ClassPathXmlApplicationContext("UserBean.xml");

/*
*使用已创建的上下文的 getBean() 方法来获得所需的 bean。
*这个方法使用 bean 的 ID 返回一个最终可以转换为实际对象的通用对象。
*一旦有了对象,你就可以使用这个对象调用任何类的方法。
*/ User user2
= (User) context.getBean("User"); System.out.println("----使用Spring Bean的方式创建对象----"); System.out.println("user2's name is:" + user2.getName()); } }

UserBean.xml

Beans.xml 用于给不同的 bean 分配唯一的 ID,并且控制不同值的对象的创建,而不会影响 Spring 的任何源文件。例如,使用下面的文件,你可以为 “name” 变量传递任何值,因此你就可以输出信息的不同值,而不会影响的 User.java和UserTest.java 文件。

一个个的<bean></bean>就相当于要实例化的对象。在Spring中将对象的管理交给了Spring 容器。

<?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">

    <!--id指向User类-->
    <bean id="User" class="com.test.springtest.test.User">
        <!--在实例化对象时为成员变量赋值-->
        <property name="name" value="李四"></property>
    </bean>
</beans>

运行main:

----使用new的方式创建对象----
user1's name is:张三
八月 11, 2018 3:52:51 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@2530c12: 
startup date [Sat Aug 11 15:52:51 CST 2018]; root of context hierarchy 八月 11, 2018 3:52:51 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 信息: Loading XML bean definitions from class path resource [UserBean.xml] ----使用Spring Bean的方式创建对象---- user2's name is:李四

在输出中可以发现:

使用Spring的方式需要加载上下文(context),Beans.xml文件

posted @ 2018-08-11 16:02  今生一场酒  阅读(2459)  评论(1编辑  收藏  举报