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

网站建设公司需要有什么东西wordpress赞赏功能

网站建设公司需要有什么东西,wordpress赞赏功能,免费做会计试题网站,重庆网站建设公司有哪些这是 学透 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.w-s-a.com/news/230333/

相关文章:

  • 保定模板建站软件腾讯云做淘客网站
  • 单位建设一个网站的费用正规刷手机单做任务网站
  • 北京定制网站价格开网店怎么卖到外国
  • 做网站 后端是谁来做的工程建设指挥部网站
  • wordpress建站 云打印昆明 网站设计
  • 太原网站建设设计网站建设策划书(建设前的市场分析)
  • 哪里有制作网站电商新手入门知识
  • 制作网站的后台文昌网站建设 myvodo
  • 网站 购买移动网站制作
  • 南京网站网站建设学校英山做网站多少钱
  • 珠海网站建设网如何注册公司公众号
  • 手机网站页面制作网站怎么做快照
  • asp网站怎么仿站推广软件下载平台
  • 电子商务网站建设期末试题08答案互联网怎么做
  • 规范门户网站的建设和管理办法微信网站开发公司电话
  • 免费行情网站凡客的官网
  • 做网站运营的女生多吗海淀企业网站建设
  • 网站运行环境配置网站建设个一般需要花费多少钱
  • 广西平台网站建设报价wordpress 免费 企业 主题
  • 四川省建设厅职称查询网站辽宁省住房和城乡建设部网站
  • 公司网站后台登陆网站放到云服务器上怎么做
  • 济南 网站定制做网站购买域名
  • 代理分佣后台网站开发怎么用源码做网站视频
  • 天津网站建设招标wordpress七牛图片插件
  • 建设合同施工合同示范文本汕头市网络优化推广平台
  • 网站关键词修改老王搜索引擎入口
  • 那个网站做搬家推广比较好建设部网站办事大厅栏目
  • 做企业销售分析的网站广州网站设计建设
  • 建站流程wordpress怎么开伪静态
  • 服务器不是自己的做违法网站videopro wordpress