您的位置:首页 > 编程语言 > Java开发

SpringMVC的Java配置替换spring-mvc.xml文件

2017-09-29 17:26 651 查看
Java类替换spring-mvc.xml。SpringConfig.java相当于spring-mvc.xml文件,@Bean注入bean作用在方法上,也可以在所要注入的类上直接加注释(@Service,@Repository,@Controller,@AutoWired等)

package com.csl.demo.annotation1;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@ComponentScan(basePackages= {"com.csl.demo.annotation"})//相当与<context:component-scan base-package=""/>
@Configuration//替换spring-mvc.xml文件
public class SpringConfig {
//注入bean
@Bean(name="personServices")
public PersonServices getPersonServices() {
PersonServices ps = new PersonServices();
//bean中的属性参照
ps.setPersonDao(getPersonDao());
return ps;
}
//注入bean
@Bean(name="personDao")
public PersonDao getPersonDao() {
return new PersonDao();
}
}


Person实体类

package com.csl.demo.annotation1;

import java.util.Date;

public class Person {
private int id;
private String name;
private Date birthday;
//.......省略代码
}


StudentDao类

package com.csl.demo.annotation1;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PersonDao {

@SuppressWarnings("deprecation")
List<Person> listPerson(){
List<Person> list = new ArrayList<Person>();
for (int i = 0; i < 6; i++) {
Person p = new Person(i, "Person"+i, new Date(117,i,10+i));
list.add(p);
}
return list;
}
}


StudentServices类

package com.csl.demo.annotation1;

import java.util.List;

public class PersonServices  {

private PersonDao personDao;

public void setPersonDao(PersonDao personDao) {
this.personDao = personDao;
}

public List<Person> listPerson() {
return personDao.listPerson();
}

}


测试类

package com.csl.demo.annotation1;

import java.util.List;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.csl.demo.datasources.SpringConfig2;
import com.csl.demo.datasources.StudentServices;

public class Tests {
public static void main(String[] args) {
//創建spring容器
@SuppressWarnings("resource")
AnnotationConfigApplicationContext aac = new
AnnotationConfigApplicationContext(SpringConfig.class);
PersonServices ps = (PersonServices) aac.getBean("personServices");
List<Person> list = ps.listPerson();
for (Person p : list) {
System.out.println(p);
}
aac.destroy();//銷毀
}
}


测试结果

Person [id=0, name=Person0, birthday=Tue Jan 10 00:00:00 CST 2017]
Person [id=1, name=Person1, birthday=Sat Feb 11 00:00:00 CST 2017]
Person [id=2, name=Person2, birthday=Sun Mar 12 00:00:00 CST 2017]
Person [id=3, name=Person3, birthday=Thu Apr 13 00:00:00 CST 2017]
Person [id=4, name=Person4, birthday=Sun May 14 00:00:00 CST 2017]
Person [id=5, name=Person5, birthday=Thu Jun 15 00:00:00 CST 2017]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc 注释 bean
相关文章推荐