知识补充:
Controller:控制器:控制网站跳转逻辑,相当于servlet
注解:通过给bean上添加某些注解,可以快速的将bean加入ioc容器中
实现的过程
首先创建好Dao、Service、Controller(servlet)包和文件
Spring有四个注解:
@Controller:控制器;我们推荐给控制器层(servlet包下的这些)的组件加这个注解
@Service:业务逻辑;我们推荐给业务逻辑层添加这个注解;service包下
@Repository:仓库,给数据库层(持久化层,dao层)的组件添加这个组件
@Component:组件。给不属于以上几层的组件添加注解
注解可以随便加。Spring的底层不会去验证你的这个组件, 是否如你注解所说是一个dao层还是一个servlet层的组件
推荐各自层加各自层的注解,给程序员看的
使用注解将组件快速的加入到容器需要几步?
1、给要添加的组件上标四个注解的任何一个
2、告诉Spring自动扫描加了这些注解的组件;依赖context名称空间
3、一定要导入aop包,作用是支持加注解模式的
不导入aop的包,会报
Caused by: java.lang.ClassNotFoundException: org.springframework.aop.TargetSource
就是找不到aop的包了。
<!-- context:component-scan 自动组件扫描
base-package:指定扫描的基础包,把基础包及它下面的所有加了注解的类,自动的扫描进ioc容器
-->
<context:component-scan base-package="com.atshiyou"></context:component-scan>
使用注解加入容器中的组件,和使用配置加入到容器中的组件行为(这里指的是bean标签)都是默认一样的:
相同点一: ID。默认就是组件类名首字母小写,这里也是可以修改的
相同点二: 组件的作用域(scope),默认是单例的,一样的也是可以修改的。修改的规则如下:
修改scope过后就变成了false