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

网站建设的策划h网站模版

网站建设的策划,h网站模版,wordpress微信h5登录,黑龙江省瑞驰建设集团网站今天#xff0c;这篇文章带你将深入理解Spring Boot中30常用注解#xff0c;通过代码示例和关系图#xff0c;帮助你彻底掌握Spring核心注解的使用场景和内在联系。 一、启动类与核心注解 1.1 SpringBootApplication 组合注解#xff1a; SpringBootApplication Confi…        今天这篇文章带你将深入理解Spring Boot中30常用注解通过代码示例和关系图帮助你彻底掌握Spring核心注解的使用场景和内在联系。 一、启动类与核心注解 1.1 SpringBootApplication 组合注解 SpringBootApplication   Configuration EnableAutoConfiguration ComponentScan SpringBootApplication public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);} } 三个核心功能 Configuration声明配置类 EnableAutoConfiguration启用自动配置 ComponentScan组件扫描默认扫描启动类所在包及其子包 二、配置与Bean管理 2.1 Configuration 声明配置类内部包含多个Bean方法 Configuration public class AppConfig {Beanpublic DataSource dataSource() {return new HikariDataSource();} } 2.2 Bean vs Component 特性BeanComponent声明位置配置类方法类级别控制粒度第三方库类自己编写的类依赖注入方法参数自动注入字段/构造器 2.3 Scope Bean作用域 Bean Scope(prototype) public Service prototypeService() {return new Service(); } 三、依赖注入DI 3.1 Autowired 自动注入的三种方式 // 构造器注入推荐 Autowired public MyController(MyService service) {this.service service; }// Setter注入 Autowired public void setService(MyService service) {this.service service; }// 字段注入不推荐 Autowired private MyService service; 3.2 Qualifier 解决多个同类型Bean的冲突 Autowired Qualifier(mainService) private Service service; 3.3 Primary 设置首选Bean Bean Primary public Service primaryService() {return new PrimaryService(); } 四、组件扫描与分层架构 4.1 分层注解 Service public class UserService {// 业务逻辑 }RestController RequestMapping(/api/users) public class UserController {Autowiredprivate UserService userService; } 五、Web开发注解 5.1 请求映射 GetMapping(/{id}) public User getUser(PathVariable Long id) {return userService.findById(id); }PostMapping ResponseStatus(HttpStatus.CREATED) public User createUser(RequestBody User user) {return userService.save(user); } 5.2 参数绑定 GetMapping public ListUser searchUsers(RequestParam(defaultValue 1) int page,RequestParam(required false) String name) {// 分页查询逻辑 } 六、条件装配注解 6.1 ConditionalOnProperty Bean ConditionalOnProperty(prefix feature,name new-payment,havingValue true) public PaymentService newPaymentService() {return new NewPaymentService(); } 6.2 其他条件注解 ConditionalOnClass类路径存在指定类时生效 ConditionalOnMissingBean容器中不存在指定Bean时生效 七、AOP编程 7.1 切面配置 Aspect Component public class LoggingAspect {Pointcut(execution(* com.example.service.*.*(..)))private void serviceLayer() {}Around(serviceLayer())public Object logMethod(ProceedingJoinPoint joinPoint) throws Throwable {// 记录方法执行时间long start System.currentTimeMillis();Object result joinPoint.proceed();long duration System.currentTimeMillis() - start;System.out.println(joinPoint.getSignature() executed in duration ms);return result;} } 八、配置属性绑定 8.1 ConfigurationProperties Configuration ConfigurationProperties(prefix app) public class AppConfig {private String name;private int version;private ListString servers new ArrayList();// getters/setters } application.yml配置 app:name: MyApplicationversion: 2servers:- server1- server2 九、Bean 的生命周期 Spring Boot 中的 Bean 生命周期是理解 Spring 容器管理 Bean 的关键。Bean 的生命周期大致可以分为以下几个阶段 实例化InstantiationSpring 容器通过调用无参构造方法创建 Bean 实例。 属性赋值PopulationSpring 容器通过反射将配置文件或注解中定义的属性值注入到 Bean 中。 初始化前处理Pre-initialization BeanNameAware如果 Bean 实现了 BeanNameAware 接口Spring 会调用其 setBeanName 方法将 Bean 的名称传递给 Bean。 BeanFactoryAware如果 Bean 实现了 BeanFactoryAware 接口Spring 会调用其 setBeanFactory 方法将 BeanFactory 传递给 Bean。 BeanPostProcessorSpring 会调用 BeanPostProcessor 的 postProcessBeforeInitialization 方法对 Bean 进行前置处理。 初始化Initialization InitializingBean如果 Bean 实现了 InitializingBean 接口Spring 会调用其 afterPropertiesSet 方法进行初始化。 PostConstruct如果 Bean 中有方法使用了 PostConstruct 注解Spring 会调用该方法进行初始化。 使用UsageBean 已经初始化完成可以被应用程序使用。 销毁前处理Pre-destruction DisposableBean如果 Bean 实现了 DisposableBean 接口Spring 会调用其 destroy 方法进行销毁前的清理工作。 PreDestroy如果 Bean 中有方法使用了 PreDestroy 注解Spring 会调用该方法进行销毁前的清理工作。 销毁DestructionSpring 容器关闭时销毁 Bean。 Component public class MyBean implements BeanNameAware, BeanFactoryAware, InitializingBean, DisposableBean {private String name;public MyBean() {System.out.println(1. 实例化 Bean);}Overridepublic void setBeanName(String name) {System.out.println(2. 设置 Bean 名称);}Overridepublic void setBeanFactory(BeanFactory beanFactory) throws BeansException {System.out.println(3. 设置 BeanFactory);}Overridepublic void afterPropertiesSet() throws Exception {System.out.println(4. 初始化 Bean);}Overridepublic void destroy() throws Exception {System.out.println(6. 销毁 Bean);}PostConstructpublic void init() {System.out.println(5. PostConstruct 注解的初始化方法);}PreDestroypublic void preDestroy() {System.out.println(7. PreDestroy 注解的销毁前方法);} } 十、注解关系图谱 总结 Spring Boot 中的注解和 Bean 生命周期是开发中非常重要的概念。通过合理使用各种注解可以大大简化开发过程提高开发效率。同时理解 Bean 的生命周期有助于更好地管理 Bean 的创建、初始化和销毁过程确保应用程序的稳定性和可靠性。
http://www.hkea.cn/news/14588455/

相关文章:

  • 怎么建网站站点社交网站先做pc站可以吗
  • 开封网站建设报价如何网站做镜像
  • 部门网站建设个人总结公司的seo是什么意思
  • 西安网站建设培训中心竞价排名点击
  • 自助建站系统个人网站网站建设如何弄链接
  • 网站闭站保护温州h5建站
  • 佛山做外贸网站如何各类网站规划
  • 重庆塔吊证查询网站网站建设的成果怎么写
  • onedrive做网站下载盘镇江网站制作价格如何计算
  • seo怎样新建网站汕头建总
  • 山东网站建设SEO优化制作设计公司绑米wordpress
  • 网站建设页面页脚怎么设置萍乡手机网站建设
  • ppt里做网站效果网站怎么算抄袭
  • 建个网站做产品怎样自媒体注册平台
  • 变化型网站wordpress新建数据库
  • wordpress地址和站点地址错域名网址查询
  • 国家重大建设项目库网站电话制作网站的完整步骤
  • 下载asp做网站教育培训类网站开发
  • 杭州正晖建设工程有限公司网站招标网招标信息
  • 怎挖掘网站关键词网络服务公司名字
  • 创建网站代码是什么问题广州有哪些知名企业
  • 设计网站公司速寻亿企邦永州高端网站建设
  • 什邡网站建设wordpress 怎么样
  • 网站开发学什么语言好wordpress+免费博客
  • 大气宽屏企业网站源码wordpress跨站脚本攻击漏洞
  • 下载网站专用空间大型购物网站建设费用
  • 建站公司主要做那些业务深圳专业学校网站建设
  • 网站开发的需要的技术人员软件承接网站建设
  • 两屏合一网站建设网络科技工作室
  • 阿里网站如何做接入公司网站后台密码