JAVA学习笔记038——bean的概念和常见注解标注
- 手机
- 2025-09-19 23:36:02

什么是bean?
Bean 就是 被 Spring 管理的对象,就像工厂流水线上生产的“标准产品”。这些对象不是你自己 new 出来的,而是由 Spring 容器(一个超级工厂)帮你创建、组装、管理。
由 @Component、@Service、@Controller 等注解标记的类,都会变成 Spring 管理的 Bean。这些注解就像是给类贴了一个标签,告诉 Spring:“嘿,这个类交给你了,帮我管理它!”
这些注解的作用
@Component:最通用的注解,标记一个类为 Bean。
比如:
@Component public class MyComponent { // 这是一个普通的 Bean } @Service:专门用于标记业务逻辑层的类。
比如:
@Service public class UserService { // 这是一个业务逻辑 Bean } @Controller:专门用于标记控制器层的类(通常用于处理 HTTP 请求)。
比如:
@Controller public class UserController { // 这是一个控制器 Bean } @Repository:专门用于标记数据访问层的类(通常用于操作数据库)。
比如:
@Repository public class UserRepository { // 这是一个数据访问 Bean } 为什么分这么多注解?虽然这些注解的功能本质上是一样的(都是把类变成 Bean),但它们有语义化的作用:
让代码更清晰:看到 @Service 就知道这是业务逻辑,看到 @Controller 就知道这是处理请求的。
方便扩展:未来 Spring 可能会根据注解类型提供特定的功能(比如 @Repository 会处理数据库异常)。
Bean 的创建过程扫描:Spring 启动时,会扫描所有被 @Component、@Service、@Controller、@Repository 标记的类。
实例化:Spring 会创建这些类的对象(即 Bean)。
管理:把这些 Bean 放到 Spring 容器中,供其他地方使用。
举个完整的例子 // 1. 定义一个服务类(标记为 Bean) @Service public class UserService { public String getUserName() { return "张三"; } } // 2. 定义一个控制器类(标记为 Bean) @Controller public class UserController { @Autowired // 自动注入 UserService 的 Bean private UserService userService; public void showUserName() { String name = userService.getUserName(); System.out.println("用户名:" + name); } } 运行逻辑:Spring 扫描到 UserService 和 UserController,把它们变成 Bean。
Spring 发现 UserController 需要 UserService,于是自动把 UserService 的 Bean 注入到 UserController 中。
你可以直接使用 UserController,而不用手动创建 UserService。
总结被 @Component、@Service、@Controller、@Repository 标记的类,都会变成 Bean。
区别:这些注解主要是为了区分 Bean 的用途,让代码更清晰。
核心:Spring 会自动管理这些 Bean 的生命周期和依赖关系,你只需要用 @Autowired 就能轻松使用它们!
JAVA学习笔记038——bean的概念和常见注解标注由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“JAVA学习笔记038——bean的概念和常见注解标注”
下一篇
sqlserver版本更新日期