欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(Spring)Spring框架中Bean管理的常用注解

程序员文章站 2022-05-21 22:13:45
...

Spring框架中Bean管理的常用注解

1、@Component:组件(作用在类上)


2、Spring中提供@Component的三个衍生注解:(功能到目前为止是一致的)

     *   @Controller  :作用在WEB层

     *   @Service       :作用在业务层

     *   @Repository :作用在持久层

     *   说明:这三个注解是为了标注类本身的用途清晰,Spring在后续版本可能会对其增强


3、关于属性注入的注解(使用注解注入的方式,可以不用提供set方法)

     *   如果是注入的是普通类型,可以使用Value注解

         >  @Value            ---  用于注入普通类型

    // 给name属性注入美美的字符串,setName方法还可以省略不写
	@Value(value="美美")
	private String name;
	public void setName(String name) {
		this.name = name;
	}

     *   如果注入的是对象类型,使用如**解

         >  @Autowired    ---  默认按类型进行自动装配

                   *   如果想按名称注入的话

                   *   @Qualifier       ---   强制使用名称注入

    // @Autowired 按类型自动装配
	@Autowired
	@Qualifier(value="userDao")  // 按名称注入
	private UserDao userDao;

        >  @Resource        ---  相当于@Autowired和@Qualifier一起使用

                  *   @Resource 是 Java提供的注解

                  *   属性使用 name 属性

	    // @Resource是Java的注解,Spring框架支持该注解
	    @Resource(name="userDao")
	    private UserDao userDao;


Bean的作用范围和生命周期的注解

      1)Bean的作用范围的注解

           *   注解为  @Scope(value="prototype"),作用在类上。值如下:

                >  singleton        ---  单例,默认值

                >  prototype       ---  多例

      2)Bean的生命周期的配置

           *   注解如下:

               >  @PostConstruct         ---  相当于 init-method

               >  @PreDestroy              ---  相当于 destroy-method


Spring框架整合JUnit单元测试

     1)为了简化了JUnit的测试,使用Spring框架也可以整合测试

     2)具体步骤:

          前提:必须要有JUnit的环境(导入了JUnit的开发环境)

          步骤一:在程序中导入:spring-test-4.2.4.RELEASE.jar

          步骤二:在具体的测试类上添加注解

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Demo2 {
	
	@Resource(name="userService")
	private UserService userService;
	
	@Resource(name="userDao")
	private UserDao userDao;
	
	@Test
	public void run1() {
		userService.sayHello();
		System.out.println("--------------------------");
		userDao.save();
	}
}
          步骤三:  开启注解扫描
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 
	<!-- 开启注解的扫描 -->
	<context:component-scan base-package="com.jadan"></context:component-scan>
</beans>


下一篇:Spring框架之AOP技术