版权声明:本文为博主原创文章,未经博主允许不得转载。 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知识!