Spring 装配Bean 基于注解

注解:就是一个类,使用@注解名称
开发中:使用注解 取代 xml配置文件
注解使用前提,添加命名空间,让spring扫描含有注解类
Spring 装配Bean 基于注解_第1张图片
在xml文件中加这段代码让其扫描类中的所有注解


1.@Component 把普通pojo实例化到spring容器中,用来取代< bean class=”” >
 @Component(“id”) 用来取代< bean id=”” class=”” >

2.web开发,提供3个@Component注解衍生注解(功能一样,名字不一样)取代< bean class=”” >
 @Repository :dao层,功能与 @Component 相同
 @Service:service层,功能与 @Component 相同
 @Controller:web层,功能与 @Component 相同


3.依赖注入 ,给私有字段设置,也可以给setter方法设置
普通值:@Value(“”)
引用值:
 方式1:按照【类型】注入   @Autowired
 方式2:按照【名称】注入1   @Autowired
                @Qualifier(“名称”)
 方式3:按照【名称】注入2   @Resource(“名称”)

@Autowired这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get。

id="userService" class="com.service.UserService">
    <property name="userDao" ref bean="userDao">property>
    property>


id="userDao" class="com.service.UserDao"/>

这样你在userService里面要做一个userDao的setter/getter方法。
但如果你用了@Autowired的话,你只需要在UserService的实现类中声明即可。

public class UserService{
    @Autowired
    private UserDao userDao;
}

并且在applicationContext中将相应的< property >< /property >标签去掉:

<bean id="userService" class="com.service.UserService">bean>
<bean id="userDao" class="com.dao.UserDao"/>bean>

4.生命周期
 初始化:@PostConstruct
 销毁: @PreDestroy


5.作用域
 @Scope(“prototype”)  多例
 


Spring 装配Bean 基于注解_第2张图片


小结

Spring框架的核心时Spring容器。容器负责管理应用中组件的生命周期,它会创建这些组件并保证它们的以来能够得到满足,这样的话,组件菜呢个完成预定的任务。

你可能感兴趣的:(Spring)