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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_38868875/article/details/78135913

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]

------------------------------------------------------------------访问IT资料站学习更多IT知识!

猜你喜欢

转载自blog.csdn.net/baidu_38868875/article/details/78135913