注解:就是一个类,使用@注解名称
开发中:使用注解 取代 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容器。容器负责管理应用中组件的生命周期,它会创建这些组件并保证它们的以来能够得到满足,这样的话,组件菜呢个完成预定的任务。