Spring入门例程——javaweb整合开发王者归来例子

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jl381169437/article/details/50189071

Spring入门例程——javaweb整合开发王者归来例子

照着书把例子调通,记录一下过程,分享学习经历,也是第一篇经验博客,根据自己学习时遇到的问题,会把spring目录结构贴出来,有以下几个准备事项:

http://download.csdn.net/detail/jl381169437/9329563

目录结构

这里写图片描述

spring包下载

http://download.csdn.net/detail/jl381169437/9329577

创建一个Spring的工程,项目名称及包名类名参照图片,该工程会根据Springle配置文件(applicationContext.xml)加载配置文件中的JavaBean,并通过Java的反射机制调用getter、setter方法设置彼此间的依赖,然后从工程中获取Java对象,执行就可以了


web.xml

用于配置spring框架:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">

    <!-- Spring配置 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/classes/applicationContext.xml</param-value>
    </context-param>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>

applicationContext.xml

配置文件,放在src目录下:

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
            <!-- DAO对象 -->
    <bean id="daoImpl" 
        class="com.helloweenvsfei.spring.example.DaoImpl">
    </bean>
    <!-- service对象 -->
    <bean id="service" 
        class="com.helloweenvsfei.spring.example.ServiceImpl">
        <!-- 设置DAO属性 -->
        <property name="dao" ref="daoImpl"></property>
    </bean>
</beans>

IDao.java

Dao接口只有一个方法sayHello:

package com.helloweenvsfei.spring.example;

public interface IDao {
    public String sayHello(String name);
}

DaoImpl.java

实现Dao接口,并根据实际输出不同的问候句:

package com.helloweenvsfei.spring.example;

import java.util.Calendar;

public class DaoImpl implements IDao {
    public String sayHello(String name){
        int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);

        if(hour < 6) return "凌晨早" + name;
        if(hour < 12) return "早上好" + name;
        if(hour < 13) return "中午好" + name;
        if(hour < 18) return "下午好" + name;
        return "晚上好" + name;
    }
}

IService.java

定义S而vice层接口。只有一个service方法,没有任何DAO层的以来,没有任何冗余的代码:

package com.helloweenvsfei.spring.example;

public interface IService {
    public void service(String name);
}

ServiceImpl.java

Service实现层中,定义了一个IDao类型的对象,以及对应的getter、setter方法:

package com.helloweenvsfei.spring.example;

public class ServiceImpl implements IService {
    private IDao dao;
    public void service(String name){
        System.out.println(dao.sayHello(name));
    }
    public IDao getDao(){
        return dao;
    }
    public void setDao(IDao dao){
        this.dao = dao;
    }
}   

SpringTest.java

package com.helloweenvsfei.spring.example;

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

public class SpringTest {

    public static void main(String[] args) {
        XmlBeanFactory factory = new XmlBeanFactory(
                new ClassPathResource("applicationContext.xml"));
        IService hello = (IService) factory.getBean("service");
        hello.service("Helloween");
        factory.destroySingletons();
    }

}
展开阅读全文

没有更多推荐了,返回首页