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

建设的网站都是怎么赚钱关键词优化收费标准

建设的网站都是怎么赚钱,关键词优化收费标准,东莞市桥头镇网络工程公司,城乡建设部门户网站Maven Maven配置#xff1a; Maven是Java项目的构建工具#xff0c;使用pom.xml配置文件管理项目依赖、插件和构建目标。Spring Boot项目搭建#xff1a; Spring Boot是基于Spring框架的快速开发框架#xff0c;通过约定大于配置的理念简化了Spring应用的搭建和开发。 …Maven Maven配置 Maven是Java项目的构建工具使用pom.xml配置文件管理项目依赖、插件和构建目标。Spring Boot项目搭建 Spring Boot是基于Spring框架的快速开发框架通过约定大于配置的理念简化了Spring应用的搭建和开发。 Spring 项目启动 package com.easy;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class EasySpringAApplication {//项目启动类//运行起该类就运行了整个项目public static void main(String[] args) {SpringApplication.run(EasySpringAApplication.class,args);} } Spring核心概念IOC控制反转 控制反转是Spring的核心它通过依赖注入DI实现将对象的创建和管理交由Spring容器负责降低了组件之间的耦合度。Spring提供了IOC的方式方便获取该对象。容器和代码之间的控制权反转代码中不需要明文调用方法来得到对象只需要声明该类需要什么类型的对象即可。 package com.easy.service;import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestMapping;Service public class EasyService {//Spring IOC//管理项目中java bean的生命周期//在项目运行阶段程序中需要很多的对象来完成整体的业务//springboot提供了很多注解标注类//Controller RestController(访问层) Repository(Dao数据访问) Component(其他功能类) Bean Service(业务类)//让spring管理这些类的对象的生命周期//Spring提供了IOC的方式方便获取该对象//IOC控制反转//容器和代码之间的控制权反转代码中不需要明文调用方法来得到对象只需要声明该类需要什么类型的对象即可//Service注解是不能代替ControllerRequestMapping(easyaa)public String easyaa(){return this is aa;}//访问不到404}DI依赖注入 依赖注入是IOC的具体实现方式通过注入对象所需的依赖关系实现了组件之间的解耦和灵活性。 package com.easy.controller;import com.easy.common.TestA; import com.easy.service.EasyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController public class EasyController {//该类中需要EasyService类的对象//在这个类中只需要声明我们依赖EasyService这个类就可以不需要代码主动获取EasyService类的对象//依赖注入DI通过识别依赖关系注入对应的对象AutowiredEasyService easyS;AutowiredTestA testa;RequestMapping(testb)public String testB(){testa.test();return easy method;}RequestMapping(easya)public String easya(){System.out.println(easyS);return new Service;}RequestMapping(hello)public String hello(){return java so easy;} }注解 常用注解 Controller 用于标识控制层组件处理HTTP请求返回响应结果。 RestController 结合了Controller和ResponseBody用于RESTful风格的控制器返回JSON数据。 Service 标识业务逻辑层组件通常用于注解业务类。 Repository 标识数据访问层组件通常用于注解DAO类。 Component 泛指Spring容器管理的组件可以用于任何Spring管理的Bean。 Bean 用于定义Spring Bean通常用于配置类中将方法返回的对象注册为Spring容器的Bean。 Configuration 用于定义配置类替代XML配置文件其中包含Bean注解的方法用于定义Bean。 SpringBean SpringBean作用域 Singleton单例模式一个Spring容器只存在一个实例。 Prototype每次请求或注入时创建一个新实例。 Request每个HTTP请求创建一个实例仅在Web环境中有效。 Session每次会话都会创建一个新的对象。 GlobalSession每个全局HTTP Session创建一个实例。 SpringBean的生命周期 1根据配置情况调用 Bean 构造方法或工厂方法实例化 Bean。 public EasyBean(){System.out.println(1------构造方法);} 2利用依赖注入完成 Bean 中所有属性值的配置注入。 TestA testa;Autowiredpublic void setTesta(TestA testa){System.out.println(2------注入属性);this.testatesta;} 3) 如果 Bean 实现了 BeanNameAware 接口则 Spring 调用 Bean 的 setBeanName() 方法传入当前 Bean 的 id 值。叫什么名字 Overridepublic void setBeanName(String name) {System.out.println(3------BeanNameAware接口的setBeanName方法name);} 4如果 Bean 实现了 BeanFactoryAware 接口则 Spring 调用 setBeanFactory() 方法传入当前工厂实例的引用。哪个工厂创建的 Overridepublic void setBeanFactory(BeanFactory beanFactory) throws BeansException {System.out.println(4------BeanFactoryAware接口的setBeanFactory方法beanFactory);} 5) 当一个 Bean 实现了 ApplicationContextAware 接口并在 Spring 容器中被实例化时Spring 容器会自动调用该 Bean 的 setApplicationContext 方法并将应用程序上下文ApplicationContext作为参数传递进来。创建的对象在哪个项目下 Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {System.out.println(5------ApplicationContext接口的setBeanFactory方法applicationContext);} 6BeanPostProcessor 是 Spring 框架中的一个重要接口它允许开发者在 Spring 容器创建和初始化 bean 的过程中对 bean 进行自定义处理。这包括在 bean 实例化之后、属性设置之前postProcessBeforeInitialization 方法以及在 bean 初始化之后postProcessAfterInitialization 方法执行自定义逻辑。 Spring 容器在创建和初始化每一个 bean 时都会调用 CustomBeanPostProcessor 中的这两个方法允许你进行自定义处理。初始化的处理器before之前是实例化和after之前是初始化 Component public class EasyBeanProcessor implements BeanPostProcessor {Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {if(beanName.equals(easyBean)){System.out.println(6-----beanName applicationContext的Before方法);}return null;}Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {if(beanName.equals(easyBean)){System.out.println(9-----beanName applicationContext的After方法);}return null;} } 7InitializingBean 是 Spring 框架中的一个接口它定义了一个 afterPropertiesSet 方法。当 Spring 容器创建 bean 的所有属性都被设置完成后会调用这个方法。初始化Bean的接口 Overridepublic void afterPropertiesSet() throws Exception {System.out.println(7------InitializingBean接口的afterPropertiesSet方法);} 8如果在配置文件中通过 init-method 属性指定了初始化方法则调用该初始化方法。初始化方法 public void init(){System.out.println(8------initMethod);} 如果 Bean 实现了 DisposableBean 接口则 Spring 会调用 destory() 方法将 Spring 中的 Bean 销毁如果在配置文件中通过 destory-method 属性指定了 Bean 的销毁方法则 Spring 将调用该方法对 Bean 进行销毁。 Overridepublic void destroy() throws Exception {System.out.println(easybean被回收了);} 运行结果 了解springbean生命周期的必要性 pring Bean的生命周期定义了从bean的创建、初始化到销毁的一系列过程以及在这些过程中Spring容器如何与bean进行交互 自定义初始化逻辑 通过了解Spring Bean的生命周期你可以知道何时是执行自定义初始化逻辑的最佳时机。例如你可能需要在bean的依赖项注入之后立即进行某些设置或启动某些服务。通过使用PostConstruct注解或者init-method属性你可以确保这些初始化逻辑在bean的依赖项注入之后执行。 自定义销毁逻辑 同样地当bean不再需要时你可能需要执行一些清理操作如关闭资源连接、释放内存等。通过了解Spring Bean的生命周期你可以知道何时是执行这些销毁逻辑的最佳时机。你可以通过实现DisposableBean接口或使用PreDestroy注解来定义自定义的销毁方法。 集成第三方库 当与第三方库集成时这些库可能需要在特定的生命周期阶段执行特定的操作。了解Spring Bean的生命周期可以帮助你确定在何处集成这些库以确保它们能够正常工作。 性能优化 通过了解Spring Bean的生命周期你可以更好地优化你的应用程序的性能。例如如果你知道某个bean只在特定的请求期间需要你可以考虑将其声明为作用域为request的bean这样Spring就不会在整个应用程序的生命周期内都持有它的实例。 调试和排错 当应用程序出现问题时了解Spring Bean的生命周期可以帮助你更快地定位问题。例如如果你知道某个bean的初始化方法总是被调用但某些属性没有被正确设置那么你可以检查这个初始化方法是否有问题或者检查是否有其他bean在初始化方法之后修改了这些属性。 更好的设计决策 了解Spring Bean的生命周期可以帮助你做出更好的设计决策。例如你可能需要考虑是否将某个功能拆分为多个bean以及这些bean应该如何相互协作。通过了解生命周期你可以确定哪些bean应该在其他bean之前或之后创建和销毁。
http://www.dnsts.com.cn/news/204808.html

相关文章:

  • 网站建设做好了怎样链接域名交换友情链接平台
  • 如何查看网站根目录如何使用seo进行综合查询
  • 如何用h5自己做网站腾讯云新人服务器
  • 高唐做网站设计官方网站
  • 代加工接订单网站网站建设公司前景
  • 大连旅游网站建设大概多钱苏州优化价位
  • 苏州公司网站开发用织梦怎么做网站
  • 网站域名缴费wordpress搭建数据库
  • 宁波做网站公司哪家好企业百度网站怎么做的
  • 免费空间网站php怎么更改网站栏目id
  • 域名和网站名不一样营销网建
  • 网站个人建设wordpress如何创建导航
  • 做网站公司无锡河南省二级建造师报名入口官网
  • 更新网站的图片加不上水印去哪找做网站的客户
  • 东莞住建局网站用php做注册网站的代码
  • 网站代码管理wordpress安装没有选择语言
  • 门户网站建设 存在的问题wordpress大学百度云
  • 网站开发安卓开发cms网站是什么意思
  • 网站备案注销南宁网站设计要多少钱
  • 阿里云手机做网站寿光哪里做网站
  • 佛山公司网站推广外包服务湘潭做网站价格品牌磐石网络
  • 网站建设与管理考题网站开发人员分工
  • 吴桥网站网络推广销售是做什么的
  • 临海做网站seo培训一对一
  • php钓鱼网站怎么做视频教程江门市做网站
  • 自己怎么建个网站赚钱泰安网约车平台有哪些
  • 网站建设系统规划全网自媒体平台
  • 江苏城乡建设厅网站九江市建设项目服务中心
  • 中科诚建建设工程有限公司网站昆明网站开发建
  • 我的网站别人给黑链 攻击深圳注册公司流程图