您的位置:首页 > 文旅 > 旅游 > 引流推广广告怎么写_企业网站首页怎么优化_百度账户代运营_网络营销方式有哪些

引流推广广告怎么写_企业网站首页怎么优化_百度账户代运营_网络营销方式有哪些

2025/3/19 3:05:35 来源:https://blog.csdn.net/weixin_68093610/article/details/146325003  浏览:    关键词:引流推广广告怎么写_企业网站首页怎么优化_百度账户代运营_网络营销方式有哪些
引流推广广告怎么写_企业网站首页怎么优化_百度账户代运营_网络营销方式有哪些

Spring 框架中常用注解的详细解释与应用场景,结合核心功能和实际开发需求进行分类说明:

1.组件定义注解

1.1 @Component

  • 作用:通用注解,将普通 Java 类标记为 Spring 管理的 Bean,由容器实例化和管理,相当于 XML 中的 <bean> 标签。

  • 应用场景:非特定层次(如工具类、配置类)的组件声明。

  • 示例:

     @Componentpublic class MyComponent { /* ... */ }

1.2 分层组件注解

  • @Controller:标记控制层(Web 层),处理 HTTP 请求并返回视图或数据。
  • @Service:标记服务层(业务逻辑层),封装复杂业务逻辑。
  • @Repository:标记数据访问层(DAO 层),处理数据库操作,支持异常转换(如 SQL 异常转 Spring DataAccessException)。
  • 区别:三者均为@Component的特化版本,通过语义化区分层次,增强代码可读性。

1.3 @RestController

  • 作用@Controller + @ResponseBody 的组合,用于 RESTful API 开发,方法返回值直接序列化为 JSON/XML。

  • 示例:

     @RestControllerpublic class UserController { @GetMapping("/user")public User getUser() { /* ... */ }}

2.依赖注入注解

2.1 @Autowired

  • 作用:按类型(byType)自动注入依赖,支持字段、构造器、方法注入。若存在多个同类型 Bean,需配合 @Qualifier 指定名称。

  • 属性required=false 允许依赖为空。

  • 示例:

     @Servicepublic class UserService {@Autowiredprivate UserRepository userRepo;}

2.2 @Resource

  • 作用:按名称(byName)注入,属于 JSR-250 规范。默认按字段名匹配,若无匹配则按类型注入。
  • @Autowired 区别:
    • @Autowired 是 Spring 特有,默认按类型注入,需配合 @Qualifier 指定名称。
    • @Resource是 Java EE 标准,更灵活,适用于多实现类场景。

2.3 @Value

  • 作用:注入配置文件(如 application.properties)中的属性值,支持表达式和默认值。

  • 示例:

     @Value("${app.timeout:30}")private int timeout;

3.配置类与自动装配

3.1 @Configuration

  • 作用:标记配置类,替代 XML 配置文件,定义 Bean 的创建逻辑。

  • 示例:

     @Configurationpublic class AppConfig {@Beanpublic DataSource dataSource() { /* ... */ }}

3.2 @ComponentScan

  • 作用:指定 Spring 扫描的包路径,自动注册 @Component 及其派生注解的类为 Bean。
  • @SpringBootApplication 关系:@SpringBootApplication包含@ComponentScan,默认扫描启动类所在包及其子包。

3.3 @Bean

  • 作用:在配置类中定义 Bean,常用于第三方库(如数据库连接池)的实例化。

  • 示例:

     @Configurationpublic class DataSourceConfig {@Beanpublic DataSource druidDataSource() { return new DruidDataSource(); }}

4.Spring MVC 相关注解

4.1 @RequestMapping

  • 作用:映射 HTTP 请求到控制器方法,支持类和方法级路径,可指定请求方法(GET/POST 等)。

  • 简化注解@GetMapping@PostMapping 等,语义更明确。

  • 示例:

     @Controller@RequestMapping("/api")public class ApiController {@GetMapping("/users")public String listUsers() { /* ... */ }}

4.2 参数绑定注解

  • @PathVariable:绑定 URL 路径变量到方法参数。
     @GetMapping("/user/{id}")public User getUser(@PathVariable Long id) { /* ... */ }
  • @RequestParam:绑定请求参数到方法参数,支持默认值。

  • @RequestBody:将请求体 JSON 反序列化为 Java 对象。

5.条件注解与高级特性

5.1 @Conditional 系列

  • 作用:根据条件动态装配 Bean,如 @ConditionalOnClass(类路径存在时生效)、@ConditionalOnMissingBean(容器中无该 Bean 时生效)。
  • 应用场景:Spring Boot 自动配置的核心机制。

5.2 AOP 相关注解

  • @Aspect:定义切面类。
  • @Before/@After/@Around:定义通知类型,控制切面执行时机。

5.3 生命周期回调

  • @PostConstruct:Bean 初始化后执行的方法。
  • @PreDestroy:Bean 销毁前执行的方法。

6.Spring Boot 核心注解

6.1 @SpringBootApplication

  • 组成@Configuration + @EnableAutoConfiguration + @ComponentScan,标记主启动类。
  • 作用:启用自动配置、组件扫描和配置类定义。

6.2 @EnableAutoConfiguration

  • 原理:根据类路径依赖自动配置 Bean(如引入spring-boot-starter-web自动配置 Tomcat 和 Spring MVC)。

7.总结

  • 组件分层:通过 @Controller@Service@Repository 明确代码职责。
  • 依赖管理:优先使用 @Autowired 按类型注入,多实现场景用 @Qualifier@Resource
  • 配置简化@Configuration + @Bean 替代 XML,@SpringBootApplication 整合启动逻辑。
  • RESTful 开发@RestController + @RequestBody/@PathVariable 构建 API。

通过合理使用这些注解,可显著减少配置代码,提升开发效率和代码可维护性。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com