spring快速入门实例教程

 更新时间:2014年12月18日 09:28:09   投稿:shichen2014  
这篇文章主要介绍了spring快速入门实例,主要分析了spring的基本配置与控制反转,对于spring的学习具有一定的参考借鉴价值,需要的朋友可以参考下

本文实例讲述了spring的基本配置与控制反转。分享给大家供大家参考。具体如下:

这里我们采用了maven构建java项目,没有采用maven的同样适用。

1. 创建maven项目,我创建的项目名称为springdemo。

2. 添加依赖包,我是通过maven添加的包,maven相关配置如下:

复制代码 代码如下:
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.0.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.0.1.RELEASE</version>
</dependency>

当然,也可以直接添加jar文件。

3. 创建简单包结构

我创建了entity 、dao、business等包结构。

4. 编写简单代码

user,空代码,如下:

复制代码 代码如下:
package com.chzhao.model;
public class User {
}

接口 IUserDao
复制代码 代码如下:
package com.chzhao.dao;
import com.chzhao.model.User;
public interface IUserDao {
     public User findUserById();
}

接口实现

复制代码 代码如下:
package com.chzhao.dao;
import com.chzhao.model.User;
public class UserDaoImpl implements IUserDao {
    public User findUserById() {
        System.out.println("dao");
        return null;
    }
}

调用

复制代码 代码如下:
package com.chzhao.springdemo;
import com.chzhao.dao.IUserDao;
import com.chzhao.model.User;
public class UserManager {
    public IUserDao getDao() {
        return dao;
    }
    public void setDao(IUserDao dao) {
        this.dao = dao;
    }
    private IUserDao dao; 
    public User findUser() { 
        return dao.findUserById(); 
    } 
}

main初始化

复制代码 代码如下:
package com.chzhao.springdemo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {
    public static void main(String[] args) {

        ApplicationContext act = new ClassPathXmlApplicationContext(
                "applicationContext.xml");
        UserManager um = (UserManager) act.getBean("userManager");
        um.findUser();
    }
}

相应的配置文件

复制代码 代码如下:
<?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="UserDaoImpl"  class="com.chzhao.dao.UserDaoImpl"/> 
    <bean  name="userManager" class="com.chzhao.springdemo.UserManager"> 
        <property name="dao" > 
            <ref bean="UserDaoImpl"/> 
        </property> 
    </bean> 
</beans>

以上是正常的方式。

下面是注解的方式。

首先配置文件要改,如下

复制代码 代码如下:
<?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 class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> 
    <bean id="UserDaoImpl"  class="com.chzhao.dao.UserDaoImpl"/> 
    <bean  name="userManager" class="com.chzhao.springdemo.UserManager"> </bean> 
</beans>

接口实现

复制代码 代码如下:
package com.chzhao.dao;
import org.springframework.stereotype.Repository;
import com.chzhao.model.User;
@Repository
public class UserDaoImpl implements IUserDao {
    public User findUserById() {
        System.out.println("dao");
        return null;
    }
}

调用

复制代码 代码如下:
package com.chzhao.springdemo;
import org.springframework.beans.factory.annotation.Autowired;
import com.chzhao.dao.IUserDao;
import com.chzhao.model.User;
public class UserManager {

    @Autowired
    private IUserDao dao; 
    public User findUser() { 
        return dao.findUserById(); 
    } 
}

两种方法实现的是一样的。

希望本文所述对大家的Java程序设计有所帮助。

相关文章

  • 详解spring cloud ouath2中的资源服务器

    详解spring cloud ouath2中的资源服务器

    这篇文章主要介绍了spring cloud ouath2中的资源服务器的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • java web FTPClient实现上传文件到指定服务器

    java web FTPClient实现上传文件到指定服务器

    这篇文章主要为大家详细介绍了java web FTPClient实现上传文件到指定服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Springboot定时任务Scheduled重复执行操作

    Springboot定时任务Scheduled重复执行操作

    这篇文章主要介绍了Springboot定时任务Scheduled重复执行操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • SpringCloud中Eureka的配置及使用讲解

    SpringCloud中Eureka的配置及使用讲解

    Eureka 服务注册中心,主要用于提供服务注册功能,当微服务启动时,会将自己的服务注册到 Eureka Server,这篇文章主要介绍了SpringCloud中Eureka的配置及详细使用,需要的朋友可以参考下
    2023-01-01
  • 详细分析java并发之volatile关键字

    详细分析java并发之volatile关键字

    这篇文章主要介绍了java并发之volatile关键字的的相关资料,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java 删除文件及文件夹删除不了的解决

    Java 删除文件及文件夹删除不了的解决

    这篇文章主要介绍了Java 删除文件及文件夹删除不了的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • MyBatis自定义TypeHandler如何解决字段映射问题

    MyBatis自定义TypeHandler如何解决字段映射问题

    这篇文章主要介绍了MyBatis自定义TypeHandler如何解决字段映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • SpringBoot AOP处理请求日志打印功能代码实例

    SpringBoot AOP处理请求日志打印功能代码实例

    这篇文章主要介绍了SpringBoot AOP处理请求日志打印功能代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • springboot集成Mybatis的详细教程

    springboot集成Mybatis的详细教程

    今天给大家带来的还是关于springboot的相关知识,文章围绕着springboot集成Mybatis的详细教程展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Java中双冒号运算符(::)的用法详解

    Java中双冒号运算符(::)的用法详解

    在Java 8引入的Lambda表达式和函数式接口之后,双冒号运算符(::)成为了一项重要的功能,下面我们就来学习一下Java中的双冒号运算符及其常见应用场景吧
    2023-12-12

最新评论