您的位置:首页 > 编程语言 > Java开发

Spring 装配Bean 基于注解

2017-06-03 17:24 501 查看
注解:就是一个类,使用@注解名称

开发中:使用注解 取代 xml配置文件

注解使用前提,添加命名空间,让spring扫描含有注解类



在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。

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

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


这样你在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框架的核心时Spring容器。容器负责管理应用中组件的生命周期,它会创建这些组件并保证它们的以来能够得到满足,这样的话,组件菜呢个完成预定的任务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring xml bean 实例 class