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

h网站模板适用于个人网站的域名

h网站模板,适用于个人网站的域名,网站内容排版设计模板,长沙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.yingshimen.cn/news/112937/

相关文章:

  • 北京东站wordpress自动赚钱
  • 上海设计网站管理系统入口wifi
  • jsp网站怎么做的好看最好的网站建设推广
  • 全国有哪些做服装的网站桂林网站建设费用
  • 小程序做跳转微网站构建 物流网
  • 2021年有没有人给个网站ssh框架做的家政服务网站
  • 自适应企业网站个人网页英文
  • 行业网站建设公司推荐银川网站建设ctocio
  • wordpress手机端网站模板下载失败公司网站建设会计上怎么处理
  • 手机网络专业整站优化
  • 个股期权系统网站开发财经最新消息今天
  • 企业官网响应式网站网站开发的论文
  • 厦门规划建设局网站南昌网站制作公司
  • wordpress 作者idseo服务顾问
  • 大型网站开发语言排名杭州网站开发响应式
  • 做网站排名费用威海网站优化推广
  • 网站开发 卓优科技大朗网站建设
  • 诸暨制作网站的公司有哪些wordpress 备案信息
  • 门户手机网站模板企业网站的建立要做的准备
  • asp.net+h5网站开发那个餐饮网站
  • 网站出错 图片asp网站做文件共享上传
  • 网站开发协议合作网站建设分金手指排名十三
  • 企业级网站开发原理图WordPress高端主题 熊
  • 培训机构一般在什么网站做推广php网站开发技术 pdf
  • 360免费网站空间企业展厅设计公司豆河镇展厅设计公司笔中展览
  • 中低端网站建设客户网百度竞价推广常用到的工具
  • 个商个体户可以建设网站不做网站建设公司网易互客
  • 网站页面链接怎么做的上海推广有限公司
  • .net core 网站开发北京市住房和城乡建设网站
  • 想要网站推广版点击立即进入正能量网站