当前位置: 首页 > news >正文

长沙如何做百度的网站推广网站建设公司盈利分析

长沙如何做百度的网站推广,网站建设公司盈利分析,圣都家居装饰有限公司,大连在哪儿这是 学透 Spring Boot 专栏 的第三篇#xff0c;欢迎关注我#xff0c;与我一起学习和探讨 Spring Boot 相关知识#xff0c;学透 Spring Boot。 从面试题说起 今天我们通过一道和Spring Boot有关的常见面试题入手。 面试题#xff1a;说说 Spring Boot 中有哪些常用注解…这是 学透 Spring Boot 专栏 的第三篇欢迎关注我与我一起学习和探讨 Spring Boot 相关知识学透 Spring Boot。 从面试题说起 今天我们通过一道和Spring Boot有关的常见面试题入手。 面试题说说 Spring Boot 中有哪些常用注解 Spring Boot 项目中我们常用的几个注解有 SpringBootApplication这个注解一般定义在我们项目的启动类上表示这是项目的入口EnableAutoConfiguration这个注解用来启用 Spring Boot 的自动配置机制这样就可以根据项目的依赖自动配置 Spring 应用程序ConfigurationProperties这个注解可以把指定的前缀配置项的值绑定到某个JavaBean上SpringBootTest该注解可以更轻松地测试 Spring Boot 应用程序而不需要必须手动创建应用程序上下文或配置。 是的到这里就结束了 因为网上很多 Java 八股文罗列的是 Spring 的常用注解而不是 Spring Boot 的注解。 面试时你可以放心大胆的这么回答如果面试官质疑我们再补充其它的 Spring 注解就可以了并说明其中的区别这样可以体现我们对 Spring 的理解。 Spring Boot 常用注解详解 SpringBootApplication 这是一个组合注解用于 Spring Boot 应用程序主类表示这是 Spring Boot 应用程序的入口点。 SpringBootApplication public class SkybootApplication {public static void main(String[] args) {SpringApplication.run(SkybootApplication.class, args);} }点击这个注解我们进入到它的注解定义就可以看到它其实由SpringBootConfigurationEnableAutoConfigurationEnableAutoConfiguration三个注解组成的 Target Retention 等这几个是元注解 其它三个才是重点他们 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented InheritedSpringBootConfiguration EnableAutoConfiguration ComponentScan(excludeFilters {Filter(type FilterType.CUSTOM,classes {TypeExcludeFilter.class}),Filter(type FilterType.CUSTOM,classes {AutoConfigurationExcludeFilter.class} )}) public interface SpringBootApplication {SpringBootConfiguration 这个注解其实是就是Spring 提供的Configuration 注解的Spring Boot版本标注一个类作用Spring Boot应用的配置类。 Configuration public interface SpringBootConfiguration {AliasFor(annotation Configuration.class)boolean proxyBeanMethods() default true; }EnableAutoConfiguration 这个注解用于启用 Spring Boot 的自动配置机制这也是 Spring Boot 最强大的特性之一 这里只是相当于开关的作用后续我们会有专门的章节介绍这个注解从而深入学习Spring Boot的自动配置机制 ConfigurationProperties 我们在application.properties定义一些配置可以通过这个注解把指定前缀的配置加载到某个bean上。 app.nameskyboot app.duration10通过这个注解 Configuration ConfigurationProperties(prefix app) public class AppConfig {private String name;private Integer duration;常见的Spring Boot就这几个其它的一些不常用的比如ConditionalOnClass 会在自动配置原理章节介绍。 Spring 的核心注解 Configuration 指定一个类作为配置类。比如我们经常用它来定义数据库数据源这样一个DataSource对象就注入到Spring 容器中去了。 Configuration public class DataSourceConfig {Beanpublic DataSource dataSource() {DriverManagerDataSource dataSource new DriverManagerDataSource();dataSource.setDriverClassName(com.mysql.jdbc.Driver);dataSource.setUrl(jdbc:mysql://localhost:3306/mydb);dataSource.setUsername(username);dataSource.setPassword(password);return dataSource;} }ComponentScan 这个注解用于指定 Spring 容器扫描组件的基本包路径。 我们可以通过它配置一个扫描路径但是没有必要因为 SpringBootApplication 默认已经包含这个注解了默认是并将应用程序主类所在的包及其子包作为默认的扫描范围。 package com.mt.skyboot;SpringBootApplication ComponentScan(basePackages com.mt.skyboot) public class SkybootApplication {Spring Web 的注解 Controller 用来标识一个类作为 Spring MVC 中的控制器MVC中的C处理客户端发起的 HTTP 请求并返回相应的视图或数据。 Controller public class WebController {GetMapping(/user)public ModelAndView getUser() {ModelAndView modelAndView new ModelAndView();modelAndView.setViewName(user); // 渲染user.jspmodelAndView.addObject(name, 兰亭序咖啡); // 向页面传递数据return modelAndView;} }RestController 现在很多项目都是前后端分离很多时候只需要开发 REST API。这时候这个注解就非常有用了。 这样可以直接访问 http://localhost:8080/getAllStudents默认返回的是json数组。 RestController public class StudentController {GetMapping(/getAllStudents)public ListStudent getAllStudents() {return studentService.getStudents();} }RequestMapping 这个注解用于在控制器类或方法上指定处理 HTTP 请求的路径。 这样可以直接访问 http://localhost:8080/student/getAllStudents。 RequestMapping(/student) RestController public class StudentController {GetMapping(/getAllStudents)public ListStudent getAllStudents() {return studentService.getStudents();} }GetMapping 用于将 HTTP GET 请求映射到特定的处理器方法。 GetMapping(/hello) public String hello(){return h1兰亭序咖啡的Spring Boot专栏/h1; }是 RequestMapping 的简便写法 RequestMapping(path /hello, method RequestMethod.GET) public String hello(){return h1兰亭序咖啡的Spring Boot专栏/h1; }另外类似的注解 PostMapping PutMapping DeleteMapping Spring Bean 的注解 Component 被 Component 注解标识的类将会由 Spring 容器自动扫描并进行实例化成为 Spring 应用程序中的一个 Bean。 Component public class EmailService {// 发送邮件方法 }这个注解是一个泛化的概念包括了 Controller、Service、Repository 等更具体的注解。当一个类不符合以上三种类型的特定类时可以使用 Component 注解来标识它。 Controller 用于标识一个类作为 Spring MVC 控制器。 Controller public class ApiController {GetMapping(/api/data)ResponseBodypublic String getData() {return {\name\: \John\, \age\: 30}; // 返回 JSON 数据} }RestController 结合 Controller 和 ResponseBody用于创建 RESTful 风格的控制器。 和前面的 Controller 对比作用是一样的但是更简洁 RestController public class ApiController {GetMapping(/api/data)public String getData() {return {\name\: \John\, \age\: 30}; // 返回 JSON 数据} }Service 在项目中通常会有一些业务逻辑需要处理例如用户管理、订单处理、商品管理等。Service 注解可以用于标识这些业务逻辑处理类。 Service public class UserService {Autowiredprivate UserRepository userRepository;public User getUserById(Long id) {return userRepository.findById(id).orElse(null);} }Repository 这个注解用于标识数据访问层DAO 层中的类表示这些类负责与数据库进行交互执行数据访问操作。 Repository public class ProductRepository {public ListProduct findAllProducts() {// 执行查询操作返回所有产品的数据列表}public void saveProduct(Product product) {// 执行插入操作保存产品数据到数据库} }Spring IoC 注解 Autowired 用于自动装配 Bean通常与构造函数、Setter 方法或字段一起使用。 Controller public class UserController {Autowiredprivate UserService userService;GetMapping(/users)public String getUsers() {// 调用 UserService 中的方法来获取用户数据userService.getAllUsers();return users;} }Qualifier 与Autowired 一起使用通常用于解决多个实现同一接口或父类的类的依赖注入问题。 public interface PaymentProcessor {void processPayment(double amount); } Component Qualifier(paypal) public class PaypalPaymentProcessor implements PaymentProcessor {Overridepublic void processPayment(double amount) {System.out.println(Processing payment via PayPal: $ amount);} } Component Qualifier(creditCard) public class CreditCardPaymentProcessor implements PaymentProcessor {Overridepublic void processPayment(double amount) {System.out.println(Processing payment via Credit Card: $ amount);} }这个接口有两个实现类这时候需要使用 Qualifier 指定使用哪个实现类。 Service public class PaymentService {AutowiredQualifier(paypal) // 指定注入 PaypalPaymentProcessor 类型的 Beanprivate PaymentProcessor paymentProcessor;public void processPayment(double amount) {paymentProcessor.processPayment(amount);} }扩展知识点 Controller、Service、Repository和Component的区别 Controller、Service、Repository都可以直接用 Component 替换本质上没什么区别但是用特定的注解标识特定的类这样代码更容易维护可读性也更好 Component public interface Repository {AliasFor(annotation Component.class)String value() default ; }Autowired、Inject、Resource的区别 Spring中除了 Autowired 注解之外还有其他几个用于依赖注入的注解 Autowired: 这个注解是Spring框架提供的是Spring 中最常用的依赖注入注解之一。 它可以用于自动装配 Bean通过类型匹配进行依赖注入。可以与 Qualifier 注解一起使用用于解决多个同类型 Bean的注入歧义性。 Inject: 这个注解是 JSR-330 规范中定义的依赖注入注解在 Java EE 和 Spring 中都可以使用。 与 Autowired 注解类似Inject 注解也可以用于自动装配 Bean通过类型匹配进行依赖注入。它是 Spring 的一个替代方案可以与 Qualifier 注解一起使用用于解决多个同类型 Bean 的注入歧义性。 Resource: 这个注解是 Java EE 规范中定义的依赖注入注解也可以在 Spring 中使用。 Resource 注解可以通过名称匹配进行依赖注入也可以指定 Bean 的名称进行注入。与 Autowired 和 Inject 注解不同Resource注解不支持 Qualifier 注解因此在解决多个同类型 Bean 的注入歧义性时不太方便。 思维导图 最后附上思维导图
http://www.zqtcl.cn/news/463863/

相关文章:

  • 网站建设与维护相关知识网站建设遵循的规范
  • 网站建设费科目东莞市塘厦镇
  • 网站建设策划书1万字深圳公司网站设计企业
  • 建设企业网站小微asp iis设置网站路径
  • 分类信息网站营销小程序appid是什么
  • 营销软文是什么意思网络seo培训
  • 效果好的手机网站建设成都网站制作报价
  • 江门网站建设推广平台注册公司费用要多少
  • 淄博哪家公司做网站最好新手做地方门户网站
  • 做一个交易平台网站的成本深圳南山做网站的公司
  • 网站建设的开发的主要方法aspcms分类信息网站
  • 中国免费图片素材网站烟台电商网站开发
  • 网站框架图浅谈网站的主色调设计
  • asp.net网站iis与目录权限设置做网站前端用什么软件好
  • 网站后台图片模板前端作业做一个网站
  • 做兼职的翻译网站吗教育直播网站开发
  • pxhere素材网站电子商务的网站开发的工作内容
  • 邮件网站怎么做wordpress如何代码高亮
  • 电脑做视频的网站吗中小学 网站建设 通知
  • 给企业做网站赚钱吗吉 360 网站建设
  • 网站建设多少价格东莞网站推广团队
  • 做课件的软件下载带有蓝色的网站html网页制作代码实例
  • 建设银行鄂州分行官方网站健身网站开发方式
  • 大连免费建站模板花坛设计平面图
  • 建设网站对企业有什么好处wordpress教程视频下载
  • 郑州网站提升排名上海 企业 网站建设
  • 南昌好的做网站的公司营销型网站 案例
  • 南宁经典网站建设网络运维工程师是干什么的
  • 网站开发算法建网站难不难
  • 茂名模板建站定制网站开发 ide