Spring容器创建的四种方式

1. ClassPathXmlApplicationContext ClassPath类路径加载,必须是类路径

ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); //beans.xml配置文件路径
IUserService user = (IUserService) context.getBean("userService");     //IUserService 是接口,userService是配置文件中的对象id
user.add(); //调用对象的add()方法

2. 文件系统路径获得配置文件

ApplicationContext context = new FileSystemXmlApplicationContext("配置文件绝对路径")
IUserService user = (IUserService) context.getBean("userService");     //IUserService 是接口,userService是配置文件中的对象id
user.add(); //调用对象的add()方法

3. 读取注解配置-AnnotationConfigApplicationContext(不需要配置文件,直接定义一个配置类)

ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfiguration.class);//这里的SpringConfiguration类就是被@Configuration注解过的类
IUserService user = (IUserService) context.getBean("userService");

4. 使用BeanFactory(过时)

Resource resource = new ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
IUserServiceam = (IUserService)factory.getBean("userService");

配置文件可以结合注解使用,如果需要我们自己写的类的实例对象,可以在这些类上使用@Component、@Controller、@Service、@Repository注解创建对象并放入容器,这样在配置文件中就不用再配这些对象;而如果引用其他包的类对象,则在配置文件中配置比较方便

你可能感兴趣的:(Spring,spring)