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

网站策划编辑是干嘛的天津建设安全协会网站

网站策划编辑是干嘛的,天津建设安全协会网站,哪个网站diy做宝宝衣服,WordPress主题去授权目录 Spring Bean将一个类声明为 Bean自动装配 Bean声明 Bean 的作用域 前端后传值处理常见的 HTTP 请求类型读取配置文件定时任务全局 Controller 层异常处理 Spring Bean 将一个类声明为 Bean Component#xff1a;通用的注解#xff0c;可标注任意类为 Spring 组件。如果… 目录 Spring Bean将一个类声明为 Bean自动装配 Bean声明 Bean 的作用域 前端后传值处理常见的 HTTP 请求类型读取配置文件定时任务全局 Controller 层异常处理 Spring Bean 将一个类声明为 Bean Component通用的注解可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层可以使用 Component 注解标注。Repository用于标识数据访问层DAO 层组件类作为Bean主要用于数据库相关操作。Service用于标识服务层组件类作为 Bean主要涉及一些复杂的逻辑需要用到 Dao 层。Controller/RestCpntroller对应 Spring MVC 控制层主要用于接受用户请求并调用 Service 层返回数据给前端页面。Configuration一般用来声明配置类可以使用 Component 注解替代但是使用 Configuration 注解声明配置类时更易理解。 自动装配 Bean 1在 Spring 中自动装配 Bean 的注解有以下几种 Autowired自动按照类型进行装配如果一个接口有多个实现类可以在需要的属性上加上 Qualifier 注解指定名称。Qualifier在与 Autowired 连用时指定按照名称装配。Resource默认按照名称进行装配名称可以通过 name 属性进行指定如果基于名称注入失败则转为基于类型注入。Inject与 Autowired 功能一样但是需要额外导入 javax.inject 包因为它是 Java EE 标准中的注解。 2这些注解可以在某个类中的属性、构造方法或者 set 方法上进行使用从而使得该属性、构造方法或 set 方法自动装配相应的 Bean。可以根据具体需要选择适合的自动装配注解进行使用。 声明 Bean 的作用域 1Scope 注解用于指定 Spring 容器中 Bean 的作用域。它的主要作用是控制 Spring 容器中 Bean 的生命周期包括创建、初始化、销毁等过程。Scope 注解有以下几个属性值 singleton (默认值)表示 Spring 容器中只有一个实例每次请求都返回同一个实例底层是采用单例模式来实现的。prototype表示 Spring 容器中每次请求返回一个新的实例。request表示在一次 HTTP 请求中每次请求返回一个新的实例。session表示在一个 HTTP Session 中每次请求返回一个新的实例。global session表示在一个全局的 HTTP Session 中每次请求返回一个新的实例。 2举例说明 // Bean 注解在配置类中通过方法返回值来手动注册为 Bean Bean Scope(prototype) public Person personSingleton() {return new Person(); }上述示例中使用 Scope 注解指定 Person 类的作用域为 prototype表示每次从 Spring 容器中获取该 Bean 时都会返回一个新的实例。如果不指定默认的作用域为 singleton表示从 Spring 容器中获取到的都是同一个实例。 3除了上面列举的作用域Spring 还提供了一些作用域注解和自定义作用域的方式供用户使用如SessionScope、RequestScope、ApplicationScope 等。根据实际需要选择适当的作用域可以有效地控制 Spring 容器中 Bean 的生命周期和内存资源的使用。 有关注解 Component 和 Bean 的区别可参考Spring 常见面试题这篇文章中的 2.4 节。 前端后传值 Spring Boot 中前后端传值的注解主要有以下几个 RequestBody该注解用于读取前端传来的 Request 请求例如 POST、PUT、DELETE、GET 等请求的 body 部分并且 Content-Type 为 application/json 格式的数据接收到数据之后会自动将数据绑定到 Java 实体类对象上。 PostMapping(/user) public void addUser(RequestBody User user) {// TODO: 添加用户到数据库 }RequestParam这个注解用于接收前端传来的请求参数。例如 GetMapping(/user) public User getUser(RequestParam(id) Integer id) {// TODO: 根据 id 从数据库中获取用户信息 }PathVariable这个注解用于接收 URL 中的动态参数。例如 GetMapping(/user/{id}) public User getUserById(PathVariable(id) Integer id) {// TODO: 根据 id 从数据库中获取用户信息 }ModelAttribute这个注解用于在表单提交时接收表单中的数据并将其转换成对应的 Java 实体类对象。例如 PostMapping(/user) public void addUser(ModelAttribute User user) {// TODO: 添加用户到数据库 }注意一个请求方法只可以有一个 RequestBody但是可以有多个 RequestParam 和 PathVariable。 处理常见的 HTTP 请求类型 1在介绍与处理常见的 HTTP 请求相关的注解之前先看看下面 5 种常见的 HTTP 请求类型 GET用于向指定的 URL 获取数据。例如 GET /user?id1 HTTP/1.1 Host: example.comPOST用于向指定的 URL 提交数据数据被包含在请求体中。例如 POST /user HTTP/1.1 Host: example.com{id:1, name:john, age:18}PUT用于向指定的 URL 提交更新数据数据被包含在请求体中。例如 PUT /user HTTP/1.1 Host: example.com{id:1, name:john, age:19}DELETE用于请求服务器删除指定的 URL 资源。例如 DELETE /user?id1 HTTP/1.1 Host: example.comPATCH用于向指定的 URL 提交局部修改的数据数据被包含在请求体中。例如 PATCH /user HTTP/1.1 Host: example.com{id:1, age:20}以上是常见的 5 种 HTTP 请求类型它们在 RESTful API 中都有广泛应用。它们的不同之处在于请求语义和数据的传递方式开发者需要根据实际场景选择合适的请求类型。 2Spring Boot 中与处理常见的 HTTP 请求类型有关的注解主要有以下几个 GetMapping处理 HTTP 的 GET 请求。例如 // GetMapping(user/{userId}) 等价于 RequestMapping(value/user/{userId}, methodRequestMethod.GET) GetMapping(/user/{userId}) public RespBean getUserById(PathVariable(userId) Long userId) {// TODO: 根据 userId 从数据库中获取用户信息User user new User();user.setId(userId);user.setName(Alice);user.setAge(20);return RespBean.success(获取用户信息成功, user); }PostMapping处理 HTTP 的 POST 请求。例如 // PostMapping(user) 等价于 RequestMapping(value/user, methodRequestMethod.POST) PostMapping(/user) public RespBean addUser(RequestBody User user) {// TODO: 添加用户到数据库并返回新用户的 idLong newUserId 2L;user.setId(newUserId);return RespBean.success(添加用户成功, user); }PutMapping处理 HTTP 的 PUT 请求。例如 // PutMapping(/user/{userId}) 等价于 RequestMapping(value/user/{userId}, methodRequestMethod.PUT) PutMapping(/user/{userId}) public RespBean updateUser(PathVariable(userId) Long userId, RequestBody User user) {// TODO: 根据 userId 更新用户信息并返回更新后的用户信息user.setId(userId);user.setAge(30);return RespBean.success(更新用户信息成功, user); }DeleteMapping处理 HTTP 的 DELETE 请求。例如 // DeleteMapping(/user/{userId})等价于 RequestMapping(value/user/{userId}, methodRequestMethod.DELETE) DeleteMapping(/user/{userId}) public RespBean deleteUserById(PathVariable(userId) Long userId) {// TODO: 根据 userId 从数据库中删除用户信息return RespBean.success(删除用户信息成功); }PatchMapping处理 HTTP 的 PATCH 请求在 RESTful API 中常用于更新部分资源的信息。例如对于一个 User 对象我们可以使用 PATCH 请求更新该对象的部分属性如只更新用户名或者年龄等。具体实现可以根据传入的 JSON 数据中的属性进行判断只更新其中修改过的属性而不是全部属性。一个示例代码如下 PatchMapping(/users/{userId}) public RespBean partialUpdateUser(PathVariable(userId) Long userId, RequestBody MapString, Object updates) {// TODO: 根据 userId 更新用户的部分属性User user getUserFromDatabase(userId);if (updates.containsKey(name)) {user.setName((String) updates.get(name));}if (updates.containsKey(age)) {user.setAge((Integer) updates.get(age));}// ...updateUserToDatabase(user);return RespBean.success(更新用户信息成功, user); }在上面的示例中通过接收一个 Map 类型的 updates 参数可以根据不同的属性进行不同的处理并将更新后的用户对象返回。使用 RespBean 作为统一的结果返回类可以很方便地将更新结果的状态码、提示语及数据打包成一个 RespBean 返回给调用方。 3以上是 Spring Boot 中常见的 HTTP 请求类型的一些注解它们可以很方便地处理不同类型的请求并且能够以 RESTful 风格返回数据在返回结果时使用统一的自定义的 RespBean 类型使得开发者可以更加方便地统一处理返回结果的格式。 读取配置文件 与读取配置文件相关的注解如下所示 Value获取配置文件中的值ConfigurationProperties将配置文件中的值注入到一个 JavaBean 中PropertySource读取指定位置的 properties 文件 上述注解的具体细节可参考Spring Boot 面试题——配置文件这篇文章。 定时任务 与实现定时任务相关的注解如下所示 Scheduled用于创建定时任务通过使用该注解可以在指定的时间间隔内反复执行带有注解的方法。Scheduled 注解支持 cron 表达式、固定速率和固定延迟等方式来指定任务的执行时间。Enablescheduling发现注解 Scheduled 的任务并在后台执行该任务一般在启动类上添加该注解 上述注解的具体细节可参考 Spring Boot 面试题——定时任务这篇文章。 全局 Controller 层异常处理 与全局 Controller 层异常处理相关的注解如下所示 ControllerAdvice定义全局异常处理器类处理异常后返回视图或 HTML 页面所以处理器方法必须返回 ModelAndView 对象或者 String类型的视图名称RestControllerAdvice定义全局异常处理器类处理异常后的返回值是纯数据JSON 或 XML 格式的数据因此所以处理器方法可以直接返回对象、字符串等数据类型ExceptionHandler指定异常处理方法 上述注解的具体细节可参考 Spring Boot 面试题——全局异常处理这篇文章。
http://www.dnsts.com.cn/news/143570.html

相关文章:

  • 深圳设计功能网站钟表玻璃东莞网站建设
  • 个人可以做宣传片视频网站平面设计作品赏析
  • 建设企业网站个人网银怎样建设小游戏网站
  • 龙岗公司网站wordpress 邮件提醒功能
  • 网站建设公司电话销售做本地房产网站
  • 基于wordpress学校网站王烨张开
  • 天津网站优化公司电话wordpress破解防盗链
  • 郴州建设工程信息网站有什么好的网站做旅行计划
  • 怎样做影视网站不侵权学电商
  • 电子商务网站建设哪本教材比较适合中等专业学校用网站开发 合作协议
  • 微网站需要域名吗淘宝网淘宝网页版
  • 做自己点击网站提供专业网站小程序开发
  • 网站建设费用计入什么会计科目网站开发我们都能解决
  • 桂城网站制作crm客户管理系统简历
  • 为什么做图书管理网站装潢设计什么意思
  • 国外的建筑设计网站十大免费网站推广入口
  • wordpress站点搬家seo网站代码
  • 做网站如何推广买量广告制作公司网站建设模板
  • 做黑网站吗网站开发人员岗位
  • 深圳网站设计要点做网站一定要买主机吗
  • 网站 keywords新闻稿在线
  • 建网站业务员常州市网站建设公司
  • 苏州网站设计网站开发公司桂林做网站电话号码
  • 烟台公司网站建设前端开发人员招聘
  • 电子商务网站建设以什么为核心百度蜘蛛对视频网站的抓取
  • 用手机可以建设一个手机网站吗最简约的网站
  • 集团网站建设特点互联网课堂wordpress 关闭访问
  • 个人网站平台sem网站推广怎么做
  • 男女做暖暖免费网站小程序代理商费用
  • 郑州网站建设乛汉狮网络php响应式网站模板