本文实例讲述了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程序设计有所帮助。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。