版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DTJ_74/article/details/53939429
Spring
Spring 自带了多种类型的应用上下文。
1AnnotationConfigApplicationContext:从一个或者多个基于java的配置类中加载Spring应用上下文。
2AnnotationConfigWebApplicationContext:从一个或者多个基于java的配置类中加载Spring web应用上下文。
3ClassPathXmlApplicationContext :从路径下加载
4FileSystemXmlApplicationContext:从文件下加载
5XmlWebApplicationContext:从web应用下的一个或者多个XML配置文件加载上下文定义。
Spring 自动化装配:2种
1 组件扫描
2自动装配
@ComponentScan 没有设置任何属性, 这就默认用所在的包作为基础包进行扫描文件。
@Component :组件类注解。
@Autowired :自动装配注解。
以最简单方式实现一个Spring 简单的程序。
1 创建全局配置类 :DemoConfig
package com.sp.demo1;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan
public class DemoConfig {
}
2 创建一个UserDao接口:
package com.sp.demo1;
public interface UserDao {
void login();
}
3接口实现类。
package com.sp.demo1;
import org.springframework.stereotype.Component;
@Component
public class UserDaoImpl implements UserDao {
@Override
public void login() {
// TODO Auto-generated method stub
System.out.println("执行了login()method");
}
}
4创建测试类。
package com.sp.demo1;
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = DemoConfig.class)
public class DemoTest {
@Autowired
private UserDao userDao;
@Test
public void testUserDao() {
userDao.login();
assertNotNull(userDao); //断言测试方法。验证,spring框架已经成功注入userDao
}
}
运行,绿条,表示已经成功了。
jar 包是 Spring jar+一个日志jar。
这就完成了一个Spring 框架 的体现了。