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

做自媒体怎么在其它网站搬运内容北京集团公司注册流程

做自媒体怎么在其它网站搬运内容,北京集团公司注册流程,做网站接广告赚钱么,西部网站助手Spring 简介 Spring框架是为了解决企业应用开发的复杂性#xff0c;使用基本的JavaBean代替EJB#xff0c;并提供了更多的企业应用功能#xff0c;Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架。 Spring优点 Spring是一个开源的免费的框架(容器) Spring是一…Spring 简介 Spring框架是为了解决企业应用开发的复杂性使用基本的JavaBean代替EJB并提供了更多的企业应用功能Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架。 Spring优点 Spring是一个开源的免费的框架(容器) Spring是一个轻量级的、非入寝式的框架 控制反转(IOC)、面向切面编程(AOP) 支持事务的处理对框架整合的支持 总的来说Spring是一个轻量级的控制反转和面向切面编程的框架 Spring框架模块划分 Core-Container 这是Spring运行的核心主要包括IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP等内容。 Testing 这是Spring中非常重要的一个模块主要包括Mock Objects, TestContext Framework, Spring MVC Test, WebTestClient等内容。 Data Access 这是对数据库的访问相关包括Transactions, DAO Support, JDBC, O/R Mapping, XML Marshalling等内容。 Web Servlet 传统的对Web Servlet的支持包括Spring MVC, WebSocket, SockJS, STOMP Messaging等内容。 Web Reactive 这是Spring5新增的对于响应式系统的支持包括Spring WebFlux, WebClient, WebSocket等。 Integration 这是对第三方系统的支持包括Remoting, JMS, JCA, JMX, Email, Tasks, Scheduling, Caching等常用的第三方系统。 Languages 这是对其他JVM语言的支持包括Kotlin, Groovy等动态语言。 Core核心技术 IOC控制反转依赖注入 AOP面向切面编程 Events Spring事件处理机制包括事件类ApplicationEvent和事件监听类ApplicationListener。 如果实现了Application Listener接口的bean部署到Spring容器中则每次ApplicationEvent发布到 ApplicationContext都会通知该bean。 i18n国际化多语言 Validation数据校验 Data Binding 数据绑定 Type Conversion类型转换SpringMVC中参数的接收就使用到了 SpEL: SpEL的全称叫做Spring Expression Language。通常是为了在XML或者注解里面方便求值用的通过编写##{ }这样的格式即可使用 IOC 简介 Spring的核心就是提供了一个IOC容器它可以管理所有轻量级的JavaBean组件提供的底层服务包括组件的生命周期管理、配置和组装服务、AOP支持以及建立在AOP基础上的声明式事务服务等。 如果一个系统有大量的组件其生命周期和相互之间的依赖关系如果由组件自身来维护不但大大增加了系统的复杂度而且会导致组件之间极为紧密的耦合继而给测试和维护带来了极大的困难。 IOC容器解决了将组件的创建配置与组件的使用相分离实现对象之间的”解耦“。并且由IOC负责管理组件的生命周期。 一个类中的方法、字段的值可以通过外部注入的方式获得不需要自己本身进行创建和推导。这个外部就是IOC容器。所谓的IOC就是对象由Spring来创建、管理、装配 什么是控制反转 传统应用程序的对象是由程序本身控制创建的 使用Spring后对象是由Spring来创建的。 程序本身不创建对象而变成被动的接收对象。 IOC创建对象的方式 使用无参构造创建对象默认 使用有参构造器构建对象3种(下标赋值类型参数名) Spring配置(自己配置的xml) Bean(对象) bean iduser classorg.example.U.User1constructor-arg namename valueolderhard  /constructor-arg/beanbean iduser1 classorg.example.U.User2 nameasdf,us !--    property namename valueadsf /property--/beanalias(别名) 一个对象的另一个名字 alias nameuser aliasoasdf/aliasimport 一般用于团队开发使用它可以将多个配置文件导入合并为一个配置文件 DI(依赖注入) 依赖bean对象的创建依赖于容器 注入bean对象的所有属性由容器来注入 构造器注入 Set方式注入 拓展方式注入 c命名空间、p命名空间通过这俩可以在配置Bean时导入一些约束 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:phttp://www.springframework.org/schema/pxsi:schemaLocationhttp://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd !--    p命名空间注入可以直接注入属性的值--bean iduse classcom.old.User p:nameolder p:age20 /bean /beansBean的作用域 单例模型(默认) scopesingleton 原型模式(每次取出都是新的对象) scopeprototype 其余 request、session、application这些只能在web开发中使用到 Bean的自动装配 Spring会在上下文中自动寻找并自动给bean装配属性。 在Spring中有三种装配的方式 在xml中显式的配置 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdbean idaddress classcom.old.Addressproperty namename valueasdffsad.com /property/beanbean idstudent1 classcom.old.Student!--        普通值注入--property namename valueolderhard /property!--        引用类型(Bean) 注入--property nameaddress refaddress /property!--        数组注入--property namebooksarrayvalue红楼梦/valuevalue西游记/valuevalue水浒传/valuevalue金瓶梅/value/array/property!--        List注入--property namehobbyslistvalue骑行/valuevalue听歌/valuevalue敲代码/value/list/property!--        Map注入--property namecardmapentry key西游记 value吴承恩 /entryentry key三国演义 value罗贯中 /entry/map/property!--        Set注入--property namegamessetvalueapex/valuevalue三国杀/value/set/property!--        null注入--property namewifenull /null/property!--        Properties注入--property nameinfopropsprop key学号12345678/propprop key班级计科2204/propprop key性别男/propprop keyusernameolderhard/propprop keypassword12345678/prop/props/property/bean/beans在java中显式配置 Configuration public class Config {Beanpublic User getUser(){return new User();} }Component public class User {private String name;public String getName() {return name;}Value(tiantiantian)public void setName(String name) {this.name  name;}Overridepublic String toString() {return User{ name  name  \ };} }隐式的自动装配bean byName会自动在容器的上下文中寻找和自己对象set方法后面的值对应的bean id但要保证id全局唯一并且id与set方法中的值一致。 byType会自动在容器的上下文中寻找和自己对象set方法后面的参数类型相对应的bean id但要保证那个参数类型全局唯一并且bean和set方法的类型一样。 !--    byName会自动在容器的上下文中寻找和自己对象set方法后面的值对应的bean id--bean idperson classorg.example.person autowirebyNameproperty namename valuehujin /property/bean使用注解实现自动装配 使用注解须知 导入约束context约束 context:annotation-config/配置注解的支持 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdcontext:annotation-config/ /beans常用注解 Autowired 直接在属性上用即可也可以在set方法上使用。 使用Autowired我们可以不用编写set方法前提是你这个自动配置的属性在IOC容器中存在且符合byname Autowired(requiredfalse) 如果显示定义了required为false说明这个对象可以为null否则不能为null AutowiredQualifier(valueperson),这两个搭配使用这样就是通过byName的方式实现的 nullable 字段标记了这个注解说明这个字段可以为null Resource自动给字段装配装配顺序id类型。 Component组件放在类上说明这个类被Spring管理了就是bean相应对象的名字就是首字母小写的这个类名。 Scope(singleton)标注一个类是单例模式。 // 等价于在xml中注入Bean对象 bean idcat classorg.example.Cat/ Component public class Cat {public void shout(){System.out.println(miao~~);} }注解说明 Autowired和Resource 都是用来自动装配的都可以放在属性字段上 Autowired通过byType的方式实现并且要求这个对象存在!(可以通过requiredfalse调整) Resource 默认通过byname的方式实现如果找不到名字则通过byType实现。但是如果两个都找不到的情况下会报错。 Component衍生注解 我们在web开发中会按照mvc三层架构分层。 dao【Repository】 service【Service】 controller【Controller】 ComponentRepositoryServiceController这四个注解功能都是一样的都是代表将某个类注册到Spring中装配Bean。 xml与注解 xml更万能适用于任何场合维护非常方便 注解 不是自己的类使用不了维护相对复杂 最佳实践xml管理bean注解自负责完成属性的注入。 我们在使用的过程中只需要注意一个问题必须让注解生效就需要开启注解的支持。 context:component-scan base-packageorg.example /context:component-scancontext:annotation-config/ 完全不需要配置文件使用Java的方式配置Spring JavaConfig是Spring的子项目在Spring4之后它变成了核心功能。 Configuration这个所注释的类会被托管到Spring容器注册到容器中因为它本来就是一个ComponentConfiguration代表这是一个配置类就和我们之前看到的beans.xml是一样的。 注册一个bean就相当于我们之前写的一个bean标签这个方法的名字就相当于bean标签中的id这个方法的返回值就相当于bean标签中的class属性 Configuration public class Config {Beanpublic User getUser(){return new User();} }AOP 简介 AOP面向切面编程面向切面编程是一种编程范式旨在通过分离横切关注点来提高软件模块化程度。横切关注点是指那些跨越多个模块的功能例如日志记录、安全性、事务管理等。 AOP中的概念 切面 就是每个模块中都有一个相似的操作而这个操作都是同一个类如日志在每个功能上都需要操作日志。这个日志就可以是切面一个横跨多个核心逻辑的功能。 连接点 在一个功能中插入一个方法这个方法的执行就可以说是一个连接点。通过连接点可以实现对一个系统的各个方面进行灵活的增强和监控而不会影响核心业务逻辑的代码。 切入点 就是一些对象中同样的插入方法执行这些方法的执行点集合就是切入点。 通知 在特定连接点上执行的动作如在方法的执行前、执行后打印出不同的任务信息。 引介 有一个类原本没有一个功能但是可以通过引介为这个类动态地增加一个接口并实现相应的方法。 织入 将切面集合整合到系统的执行流程中如在编译时、类加载时呼叫哦这运行时将这个相应的切面代码插入到合适的连接点。 拦截器 拦截器可以看作一种实现增强的方式。 目标对象 目标对象是真正执行业务核心逻辑的对象。 AOP 代理 当使用AOP对目标对象进行增强后客户端持有的就是增强后的AOP对象。 如当客户端调用非核心逻辑的方法时就是调用的是AOP代理对象的方法这个代理对象会在合适的时候执行切面的逻辑。 动态代理 AOP本质上就是动态代理动态代理有两种 JDK动态代理Spring的AOP的默认实现要求必须实现接口 CGLIB动态代理Spring的AOP的可选配置类和接口都支持 使用Spring实现AOP 方式一使用Spring的API接口(主要是SpringAPI接口实现) ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:aophttp://www.springframework.org/schema/aopxsi:schemaLocationhttp://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aophttps://www.springframework.org/schema/aop/spring-aop.xsd!--  注册bean  --bean iduserServiceImpl classorg.example.Service.UserServiceImpl /beanbean idlog classorg.example.log.log /beanbean idafterlog classorg.example.log.Afterlog /bean!--  配置Aop:需要导入aop的约束,上面的xmlns处  --!--  方式一使用原生的Spring API接口  --aop:config!--    切入点:expression表达式execution(要执行的位置)    --aop:pointcut idpointcut expressionexecution(* org.example.Service.UserServiceImpl.*(..))/!--    执行环绕增强    --aop:advisor advice-reflog pointcut-refpointcut/aop:advisor advice-refafterlog pointcut-refpointcut//aop:config /beanspublic class log implements MethodBeforeAdvice {Override/*method要执行的目标对象的方法* objects参数* target目标对象**/public void before(Method method, Object[] args, Object target) throws Throwable {System.out.println(target.getClass().getName()的method.getName()被执行了);} }public class Afterlog implements AfterReturningAdvice {Overridepublic void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {System.out.println(执行了method.getName()返回结果为returnValue);} }方式二使用自定义类来实现AOP(主要是切面) !--  方式二自定义类  --bean iddiyPointCut classorg.example.diy.DiyPointCut /beanaop:config!--    自定义切面ref 要引用的类    --aop:aspect refdiyPointCut!--    切入点    --aop:pointcut idpoint expressionexecution(* org.example.Service.UserServiceImpl.*(..))/!--     通知       --aop:before methodbefore pointcut-refpoint/aop:after methodafter pointcut-refpoint//aop:aspect/aop:configpublic class DiyPointCut {public void before(){System.out.println(方法执行前);}public void after(){System.out.println(方法执行后);} }方式三使用注解实现 !--    方式三使用注解实现--bean idannotationPointCut classorg.example.AnnotationPointCut /bean!--    开启注解支持--aop:aspectj-autoproxy/Aspect //标注这个类是一个切面 public class AnnotationPointCut {Before(execution(* org.example.Service.UserServiceImpl.*(..)))public void before(){System.out.println(方法执行前);}After(execution(* org.example.Service.UserServiceImpl.*(..)))public void after(){System.out.println(方法执行后);} }
http://www.hkea.cn/news/14348703/

相关文章:

  • 网站404报错深圳企业黄页网站
  • 佛山网站建设公司哪家最好上海网络公司查询
  • 衡阳网站网站建设厦门seo关键词优化运营
  • 怒江企业网站建设哪个企业做网站
  • 网站制作流程详解(学做网站第一步)wordpress 最强大主题
  • 自己如何建立网站电影网站开发技术
  • 中小型企业网站建设企业上海虹口网站建设
  • 东莞做营销型网站软件技术是什么专业
  • 添加网站关键词建设网站方法
  • 重庆专业网站推广报价云主机上传网站
  • 有声小说网站开发百姓网站制作
  • 龙岗网站建设多少钱中国做视频网站有哪些
  • 怎样创建网站网站换模板对seo
  • 做国外商品的网站推荐网站网页
  • 个人网站怎么做才能值钱建设移动门户
  • 基础网站建设的实施步骤wordpress权限控制
  • 中文绿色环保网站模板泰安做网站建设的公司
  • 侵入别人的网站怎么做制作网站协议书
  • 沈阳网站建设选网龙建立选区快捷键ps
  • 网站推广优化wordpress还是thinkphp
  • 谷歌网站地图怎么做免费的企业网站
  • 医院信息化建设网站通用软件开发
  • 苏州建设厅网站做电影网站多少带宽
  • 做网站有用nodejs微信开发者文档官网
  • 做网站接私活高校门户网站的建设方案
  • 高清的广州网站建设南宁建设网站公司
  • 会用框架做网站能找到工作吗北京企业建站技术
  • 网站商城的公司运营结构上海十大公关公司排名
  • 长沙哪里可以做网站网站建设 ipv6
  • 做网站销售挣钱吗dw表格怎么做网站搜索