文章目录
Spring注解:给容器注册组件的几种方式
1.1 方式一
1.1.1 @Repository、@Service、@Controller、@Component
-
@Repository:推荐给数据库层(持久化层,dao层)的组件添加这个注解。
@Repository public class BookDao { }
-
@Service:业务逻辑。推荐业务逻辑层的组件添加这个注解。
@Service public class BookService { }
-
@Controller:控制器。推荐给控制器层的组件加这个注解。
@Controller public class BookController { }
-
@Component:给不属于以上几层的组件添加这个注解。
@Component public class Book { }
1.1.2 说明
@Repository、@Service、@Controller、@Component这四个注解都是标注在组件(类)上,用来把组件注册到Spring容器中。
注册的每个组件,类型是它本身所在类的类型,name默认是类名首字母小写(比如把BookService注册到容器中,该组件的类型是BookService,name是bookService)。
1.2 方式二
1.2.1 @Configuration+@Bean
@Configuration
public class MyConfig{
@Bean
public Book book01() {
return new Book();
}
}
1.2.2 说明
@Bean一般和@Configuration一起使用。@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被扫描,并将方法返回的对象注册到Spring容器中。
注册的每个组件,类型是返回值的类型,name默认就是方法名(比如上面@Bean标注的方法,添加的组件类型是Book,name是book01)。