

创建dao接口

创建dao实现类

创建service接口

创建service实现类

解释:用service调Dao





注解的扫描开关


运行结果:


三层:web层 service层 dao层
A .相当于xml里面的
标签,用来告诉spring要创建这个类的对象
B spring针对着三层架构,定义出来更符合语义的三个注解:
@Controller : 打在web层 常用
@Service : 打在service层 常用
@Repository : 打在dao层 mybatic后就不能在打了
C. 可以通过这些注解的value属性来设置 对象的id值,如果不设置,那么默认的id值就是
首字母小写的类名!
UserServiceImpl02 ====> userServiceImpl02
dao层------@Repository---用来告诉spring要创建这个类的对象

service层-----@Service ---用来告诉spring要创建这个类的对象

测试:

理解------可以通过这些注解的value属性来设置 对象的id值,如果不设置,那么默认的id值就是首字母小写的类名!UserServiceImpl02 ====> userServiceImpl02
第一步:

第二步:测试

value属性:bean的唯一标识 (id值)。如果不配置,默认以首字母小写的类名为id


@Scope:
A. 相当于xml里面的
B. 取值:
@Scope("singleton") : 表示创建的实例是单例
@Scope("prototype") : 表示创建的实例是多例

A. 作用: 使用来注入对象的。
B. 特征:
B.1 @Autowired 是按照属性的类型去spring的容器里面找对象匹配,如果只有一个对象满足这种类型关系那么就注入该对象!
B.2 那么如果在容器当中有多个对象满足这种类型关系,还会拿着属性名当成id名再去匹配一次,如果匹配上了就注入对象。 如果匹配不上,就会报错!
*****解释有多个对象满足这种类型关系

解决办法
假如注入UserServiceImpl03的对象

方法一 加id-userDao


方法二:写实现类型不写接口类型 一般不写 一般写接口 为了让能接的东西多点

方法三 把属性名改成id名

1. 作用:
搭配@Autowired使用,用来告诉@Autowired,要根据指定的id去找对象注入!
不能单独使用!

作用:
等价于 @Autowired + @Qualifier 注解。它是根据指定的id来找对象注入。

总结:@Autowired @Qualifier @Resource 都是用来注入对象的
绝大多数情况下,只要使用@Autowired注解注入即可
作用:
1.1 用来注入普通的数据,更多的时候使用来注入properties里面的数据
1.2 要记得先导入properties文件
1.3 在@Value注解里面使用 ${"properties里面的KEY"}
第一步:

第二步:导入

第三步:注入

纯注解:去掉
的方式
(1)标记这个类是一个配置类,等价于 applicationContext.xml
(2)@Configuration注解是从 @Component注解 衍生出来的,所以它也会被spring管理起来,创建对象
用来告诉spring要扫描哪个包。
第一步:导入依赖

第二步:创建dao和dao实现类

第三步:创建service和service实现类

第四步 打注解

第五步:service要用dao

第六步:创建配置类

第七步 测试


用来导入外部的properties文件
如果在编写文件名称的时候,有背景色,那么可以加上 classpath:
@PropertySource("classpath:db.properties")
第一步:

第二步:在配置类里面导入db.properties

第三步:

第四步:测试

*******可以要AppConfig类的对象调show方法, 因为这个上面有@Configurathion,@Configurathion的上面又是一个@Compoent



用来导入其他的配置类|普通类。
如果我们希望spring也能管理某一个类的对象,除了打上@Component注解之外,还可以使用@Import注解在配置类引入
第一步:

第二步:

如果我们希望一个类希望让spring能管理,就在核心配置类的地方使用@Import把他导入进来
希望在spring的容器中有person对象,只要在这个类上打上@Component
把这个类标记成我们项目的一个组件,spring发现了他,就会把他的对象创建出来,放在spring的容器当中


******一个类让spring管理的几种做法
第一种:在类上打上@Component

第二种;在核心配置类中用@Import导入

第三种:@Bean

第一步

第二步
