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

网站外链代发中国房产网

网站外链代发,中国房产网,企业上云解决方案,建设网站的政策风险分析目录 1、简介 2、原始注解 2.1、注解种类 2.2、组件扫描 2.3、具体使用 2.3.1、xml配置 2.3.2、注解配置 3、⭐新注解 3.1、新注解种类 3.2、实践 3.3、运行结果 3.4、警告信息 1、简介 Spring框架提供了许多注解#xff0c;用于在Java类中进行配置和标记#xf…目录 1、简介 2、原始注解 2.1、注解种类 2.2、组件扫描 2.3、具体使用 2.3.1、xml配置 2.3.2、注解配置 3、⭐新注解 3.1、新注解种类 3.2、实践 3.3、运行结果 3.4、警告信息 1、简介 Spring框架提供了许多注解用于在Java类中进行配置和标记以实现依赖注入、AOP、Web MVC和其他功能。这些注解可以使配置更加简洁代码更易读减少了传统XML配置的繁琐性。 以下是一些常用的Spring注解及其功能 ①组件注解Component、Controller、Service、Repository ②依赖注入注解Autowired、Qualifier、Value ③Web MVC注解RequestMapping、RequestParam、PathVariable、ResponseBody ④AOP注解Aspect ⑤事务注解Transactional ⑥配置类注解Configuration、Bean ⑦作用域注解Scope ⑧生命周期注解PostConstruct、PreDestroy 2、原始注解 Spring是轻代码而重配置的框架配置比较繁重影响开发效率所以注解开发是一种趋势。 注解代替xml配置文件可以简化配置提高开发效率。 Spring原始注解主要是替代Bean的配置。 2.1、注解种类 注解名 描述 Component 将一个类标记为Spring组件表示它会被自动扫描并注册为一个Bean。 Controller 将一个类标记为Spring MVC的控制器用于处理请求和响应。 Service 将一个类标记为业务逻辑的服务层组件通常用于Service层的类。 Repository 将一个类标记为数据访问层组件通常用于DAO层的类。 Autowired 自动注入依赖对象。Spring会自动查找匹配类型的Bean并注入到对应的字段、构造函数或方法中。 Qualifier 与Autowired一起使用用于指定具体的Bean名称解决多个匹配类型的Bean自动注入的问题。 Value 注入一个常量值或表达式(普通属性)可以用于字段、方法或构造函数参数。 Scope 标注Bean的作用范围 PostConstruct 使用在方法上标注该方法是Bean的初始化方法 PreDestroy 使用在方法上标注该方法是Bean的销毁方法 RequestMapping 将请求URL映射到控制器的处理方法上指定处理请求的URL路径。 Aspect 定义一个切面结合其他注解可以实现切面的功能如AOP。 Transactional 标记一个方法或类需要事务支持Spring将在方法执行时开启事务支持回滚等操作。 Configuration 定义配置类通常与Bean一起使用用于替代XML配置文件。 Resource相当于AutowiredQualifier按照名称进行注入。 这是Java EE规范提供的一个注解功能与spring的AutowiredQualifier相同。 2.2、组件扫描 使用注解进行开发时需要在applicationContext.xml中配置组件扫描作用是指定哪个包及其子包下的Bean 需要进行扫描以便识别使用注解配置的类、字段和方法 2.3、具体使用 2.3.1、xml配置 先回顾一下三重架构 首先在dao包下定义一个接口类UserDao定义实现类UserDaoImpl_xmlConfig 然后在Service包下定义一个接口类UserService定义实现类UserServiceImpl_xmlConfig 最后在spring的配置文件配置bean。 java代码如下 2.3.2、注解配置 注解开发注入对象的时候不需要提供set方法。 首先在dao包下定义一个接口类UserDao定义实现类UserDaoImpl_annotation 然后在Service包下定义一个接口类UserService定义实现类UserServiceImpl_annotation 最后在配置文件applicationContext-annotation.xml中开启包扫描然后导入applicationContext.xml dao层 使用Repository标记类UserDaoImpl_annotation value的默认值是在注解这里配置的value就是相当于xml配置文件中的id。 service层 ①使用Service标记类UserServiceImpl_annotation 这里的value依旧相当于xml配置中的id。 ②使用(Autowired和Qualifier)或Resource注解标记需要注入的对象这里是UserDao对象(实际上是它的实现类) ③使用Value注入普通对象这里注入spring容器中加载的jdbc配置文件的内容 ④使用PostConstruct标记初始化方法(程序开始运行后执行) ⑤使用PreDestroy标记销毁方法(程序结束之前执行) 3、⭐新注解 可以看到spring的原始注解还无法完全替代applicationContext.xml现在的applicationContext.xml中还存在的内容有 所以新注解需要解决的问题有 加载properties文件的配置context:property-placeholder 引入其他文件import组件扫描的配置context:component-scan 非自定义的Bean的配置bean 3.1、新注解种类 注解 用途 Configuration 用于指定当前类是一个 Spring 配置类当创建容器时会从该类上加载注解 PropertySource 用于加载 properties 文件中的配置 Import 用于导入其他配置类 ComponentScan 用于指定 Spring 在初始化容器时要扫描的包 Bean 使用在方法上标注将该方法的返回值存储到 Spring 容器中 3.2、实践 代码 package com.xzl.config;import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import;/*** author 逐梦苍穹* date 2023/7/21 16:21*/ Configuration Import(value {jdbcConfiguration.class,SpringConfiguration_ComponentScan.class}) //Import({jdbcConfiguration.class}) //ComponentScan(com.xzl) public class SpringConfiguration { } package com.xzl.config;import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.PropertySource;import javax.sql.DataSource;/*** author 逐梦苍穹* date 2023/7/21 16:22*/ PropertySource(classpath:jdbc.properties) public class jdbcConfiguration {Value(${jdbc.driver})private String driver;Value(${jdbc.url})private String url;Value(${jdbc.username})private String username;Value(${jdbc.password})private String password;//容器获取非自定义Bean对象Bean(dataSource_druid)public DataSource getDataSourceJDBC(){DruidDataSource dataSource new DruidDataSource();dataSource.setDriverClassName(driver);dataSource.setUrl(url);dataSource.setUsername(username);dataSource.setPassword(password);return dataSource;} } package com.xzl.config;/*** author 逐梦苍穹* date 2023/7/21 16:38*/import org.springframework.context.annotation.ComponentScan;ComponentScan(com.xzl) public class SpringConfiguration_ComponentScan { } 3.3、运行结果 web测试代码 3.4、警告信息 这里运行的时候会出现警告信息 这些警告信息与使用的 JDK 版本相关。从 JDK 9 开始Java 引入了新的访问控制机制限制了对 Java 核心类的反射访问。这个限制主要是为了增强 Java 的安全性和稳定性。在 JDK 9 及更高版本中默认情况下对于某些敏感的、不稳定的 APIJVM 会输出警告信息提醒开发者尽量避免使用这些 API。 在警告信息中是因为 Spring 框架中的 CGLIB 库使用了一些在 JDK 9 中被认为是不稳定的 API所以会触发这些警告。这些警告并不是错误不会影响 Spring 框架的正常运行但是可能在未来的 JDK 版本中导致一些不兼容性问题。 要解决这些警告可以尝试以下方法之一 使用 JDK 8 或更低版本如果你的项目没有特别需要使用 JDK 9 及更高版本的功能可以考虑切换回 JDK 8 或更低版本这样就不会触发这些警告。使用 --illegal-accesswarn 参数在启动应用程序时可以添加 --illegal-accesswarn JVM 参数将这些警告设置为警告级别从而让你在启动时看到警告信息。这样的设置可以帮助你识别潜在的问题。使用 JDK 9 的 --add-opens 参数如果你的项目必须使用 JDK 9 及更高版本你可以尝试使用 --add-opens JVM 参数来显式地为某些包或模块打开访问权限。例如你可以尝试使用 --add-opens java.base/java.langALL-UNNAMED 来为 java.lang 包打开权限。 无论选择哪种方法都应该考虑将项目升级到更新版本的 Spring 和 JDK以便与最新的 Java 特性和安全性保持一致。
http://www.hkea.cn/news/14486192/

相关文章:

  • 网站开发工资多少钱老师直播课
  • 网页设计网站设计欣赏建材企业网站模板
  • 网站备案手续网址转化短链接
  • 网站集约化建设背景天津市中小企业局网站
  • 西宁网站建设君博推荐建站模板更改
  • 网站框架优化网站内链有什么用
  • 网站怎么添加流量长沙做网站公
  • 怎么做网站图标石景山网站制作建设公司
  • 天猫网站建设的目标做淘宝优惠券怎么有网站
  • 网站备份脚本友情链接平台网站
  • 如何查看网站 是哪家做的怎么做网站平台
  • 建设门户网站多少钱做网站的公司搞什么活动
  • 工商网上怎么申请注册公司网站如何做seo优化
  • cms网站开发php建设什么网站可以上传视频
  • 安徽省高等级公路工程建设指挥部网站wordpress 聊天室
  • 甘肃网站开发公司自己创做网站
  • 自己怎么做网站链接网站seo价格
  • 用word 做网站成都h5网站建设
  • ipad 设计网站wordpress时间有问题
  • 国家建设 免费论文期刊网站网站制作思路
  • 网站开发有哪些参考文献天津电力建设公司招标网站
  • 山东公司网站建设大街网企业招聘官网
  • 灵芝住房和城乡建设局局网站投资担保网站建设
  • 厦门正规网站建设多少邯郸哪里可以学建网站
  • 潍坊快速网站排名iis端口相同不同网站建设
  • 个人网站网页设计模板wordpress混乱
  • 家政公司网站怎么做天津建设网站的公司
  • 常州网站排名优化wordpress 房产模板
  • 网站改版 大量旧页面网站开发视频会议插件
  • 网站seo快速排名优化使用aspx做电影网站