springMVC 的实现

来源:互联网 发布:java变量 编辑:程序博客网 时间:2024/05/16 01:50
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"

       xmlns:context="http://www.springframework.org/schema/context"

       xsi:schemaLocation="http://www.springframework.org/schema/beans 

           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

           http://www.springframework.org/schema/context

           http://www.springframework.org/schema/context/spring-context-2.5.xsd">

<!-- 

spring类扫描

在 base-package 的包以及子包进行类扫描(但是类要标上component 注解)

 -->

<context:component-scan base-package="com.xiaoke"></context:component-scan>


</beans>


PersonDao.java

package com.xiaoke.Dao;


import com.xiaoke.model.Person;


public interface PersonDao {

/**

 * 保存人员

 */

public void savaPerson(Person person);

}


PerosnDaoImpl.java
package com.xiaoke.Dao.Impl;

import org.springframework.stereotype.Repository;

import com.xiaoke.Dao.PersonDao;
import com.xiaoke.model.Person;

@Repository("personDao")
public class PersonDaoImpl implements PersonDao {

@Override
public void savaPerson(Person person) {
// TODO Auto-generated method st
System.out.println("保存用户数据如下:");
System.out.println(person.getName());
System.out.println(person.getUserId());
}
}

PersonService.java

package com.xiaoke.Service;


import com.xiaoke.model.Person;


public interface PersonService {

/**

 * 保存人员

 */

public void savaPerson(Person person);

}


PersonServiceImpl.java

package com.xiaoke.Service.Impl;


import javax.annotation.Resource;


import org.springframework.stereotype.Service;


import com.xiaoke.Dao.PersonDao;

import com.xiaoke.Service.PersonService;

import com.xiaoke.model.Person;


//@Component("personService") //这个是通用的,功能跟@Service() @Controller("personAction")  是一样的

@Service("personService")

public class PersonServiceImpl implements PersonService {

@Resource

private PersonDao personDao;

/**

 * 保存人员

 */

public void savaPerson(Person person){

personDao.savaPerson(person);

}

}



PersonAction.java

package com.xiaoke.Action;


import javax.annotation.Resource;


import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Controller;


import com.xiaoke.Service.PersonService;

import com.xiaoke.model.Person;



//@Component("personAction") //这个是通用的,功能跟@Service() @Controller("personAction")  是一样的

@Controller("personAction")

@Scope("prototype") //改为多例

public class PersonAction {

@Resource

private PersonService personService;

/**

 * 保存人员

 */

public void savaPerson(Person person){

personService.savaPerson(person);

}

}



//测试类ComTextMVC
package com.xiaoke.Text;

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

import com.xiaoke.Action.PersonAction;
import com.xiaoke.model.Person;



public class ComTextMVC {
@Test
public void textHelloWorld(){
/**
 * 在spring容器中,调用了默认的构造函数创建对象
 * 
 * 启动spring容器的时候就创建了所有对象,所以在
 */
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); //在这句代码就创建了所有bean对象(除了懒加载的)
PersonAction personAction = (PersonAction) context.getBean("personAction");
Person person = new Person();
person.setName("可笑可");
person.setUserId("12345");
personAction.savaPerson(person);
}
}

0 0