spring入门学习

扫码查看

开发步骤:

  

1、导入Spring开发的基本坐标

2、编写接口和实现类

3、创建Spring核心配置文件

4、在Spring核心配置文件中配置实现类

5、使用Spring的API获得Bean实例




Bean对象的依赖注入
   
依赖注入:
他是Spring框架核心IOC的具体实现。
因为UserService和其实现类都在Spring容器中,而最终程序直接使用的是UserService,
所以可以在Spring容器中,将UserDao设置到UserService内部。

通过两种方式注入:
1、构造方法
2、set方法

注入数据的三种数据类型:
1、普通数据类型
2、引用数据类型
3、集合数据类型


其他配置文件的引入(分模块开发):
  <import resource="applicationContext-xxx.xml/>"



applicationContext:接口类型,代表应用上下文。
它有三种实现:
  1、ClassPathXmlApplicationContext:从类的根路径下加载配置文件
  2、FileSystemXmlApplicationContext:它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置
  3、AnnotationConfigApplicationContext:当使用注解配置容器对象时,需要用到此类来创建spring容器,它是用来读取注解。
 
bean标签的范围配置:  scope属性:singleton:默认值,单例的  prototype:多例的

关于bean实例化的三种方式:
1、无参构造方法实例化
2、工厂静态方法实例化 配置属性:factory-method
3、工厂实例方法实例化 需要先配置工厂对象<bean id="factory" class="工厂的全限命名"/>、

  对象的引用使用ref标签,属性的引用使用value标签


spring的注解开发:

使用注解进行开发时,需要在applicationContext.xml中配置组件扫描
作用是指定哪个包及其自爆下的Bean需要进行扫描以便识别用注解配置的类
,字段和方法。
<context:component-scan base-package="类名(扫描的范围)" ></context:component-scan>




  *@Component :使用在类上用于实例化Bean


  *@Controller :使用在web层上用于实例化Bean


  @Service : 使用在service层类上用于实例化Bean


  @Repository : 使用在dao层类上用于实例化Bean


  @Autowired :使用在字段上用于根据类型依赖注入


  @Qualifier :结合@Autowiered一起使用用于根据名称进行依赖注入 按照id值从容器中进行匹配,但是注意此处@Qualifier结合@Autowired一起使用


  @Resource : 相当于@Autowired + @Qualifier,按照名称进行注入


  @Value : 注入普通属性


  @Scope : 标注Bean的作用范围

   @PostConstruct  :  使用在方法上标注该方法是Bean的初始化方法

  @PreDestroy : 使用在方法上面标注该方法是Bean的销毁方法
 
Spring的新注解:


  @Configuration : 用于指定当前类是一个Spring配置类,当创建容器时会从该类上加载注解 类上面加上它标志该类是spring的核心配置类

  @PropertySource :用于加载配置文件

  @ComponentScan : 用于指定Spring在初始化容器时要扫的包。 组件扫描

  @Bean : 使用在方法上 spring会将当前方法的返回值以指定名称存储到Spring容器中

  @import : 用于导入其他配置类



  spring整合Junit:


  spring集成junit步骤

1、导入spring集成junit 的坐标
2、使用@Runwith注解替换原理啊的运行期 在类上使用 @RunWith(SpringJUit4ClassRunner)
3、使用@ContextCOnfigurarion指定配置文件或配置类
4、使用@Autowired注入需要测试的对象
5、创建测试方法进行测试




@RunWith(SpringJUit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml"):告诉配置文件的位置 使用全注解方式:@ContextConfiguration(classes = {SpringConfiguration.class} )
@Autowired : 测试谁需要加上它
@Test : 进行测试



 
 







12-13 05:11
查看更多