2.通过config读取指定文件:
由于springboot的4种读取配置方式(1):直接读取bean 中bean的数量多,而且不好管理,所以可以采取config方式,
可以把同一类的bean进行统一管理,然后通过config指定读取配置文件
/** * 学生实体类 * Created by ASUS on 2018/5/4 */ public class Student { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Student(String name, int age) { this.name = name; this.age = age; } public Student() { } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
/** * 把所有的学生bean集中管理类 * Created by ASUS on 2018/5/4 */ //默认从根目录扫描 @Configuration public class StudentBeans { /** * 声明bean,name为s1 * @return */ @Bean(name = "s1") public Student s1(){ Student student=new Student("哈哈",12); return student; } /** * 声明bean,name为ss * @return */ @Bean(name = "ss") public Student ss(){ Student student=new Student("哈哈",18); return student; } }
/** * springboot启动类 * */ @SpringBootApplication //扫描指定包路径 @ComponentScan("springboot.config") public class Application { public static void main( String[] args ) { ApplicationContext applicationContext= SpringApplication.run(Application.class,args); Student student= (Student) applicationContext.getBean("s1"); Student student1= (Student) applicationContext.getBean("ss"); System.out.println("message:"+student.toString()); System.out.println("message:"+student1.toString()); } }
测试结果:
注:bean管理类要注解为@Configuration(默认从根目录扫描),启动类要加@ComponentScan("指定扫描目录路径")我的座右铭:不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。