精华内容
下载资源
问答
  • 属性 new Vue({ //绑定元素 el:'#app', //要绑定的数据 data:{}, //用来接受外部资料的属性 props:{}, // 用来定义Vue内使用的方法 methods:{}, //用来观察Vue 数据的更新 ...

    属性

        new Vue({
            //绑定元素
            el:'#app',
            //要绑定的数据
            data:{},
            //用来接受外部资料的属性
            props:{},
            // 用来定义在Vue内使用的方法
            methods:{},
            //用来观察Vue 数据的更新
            watch:{},
            //自动为内部数据计算的属性
            computed:{},
            // 提供Vue 实体编译后的样板
            template:{},
            //用来定义子元件
            components:{}
        });

     大多数的数据都相同,唯一要注意的就是data属性

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.css">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.js"></script>
        <style>
            #app{
                margin: 1em;
                font-size: 1.2em;
            }
            .component{
                border: 1px solid #000;
                padding: 10px;
            }
        </style>
    </head>
    <body>
     <div id="app">
         {{msg}}
         <hr>
         <my-component></my-component>
    
     </div>
     <script>
         //register
         Vue.component('my-component',{
             template:'  <div class="component">{{msg}}</div>',
             data:function () {
                 return{
                     msg:'A custom component of Vue!'
                 }
             }
         });
         //create wa root instance
         new Vue({
             el:'#app',
             data:{
                 msg:'A root msg of Vue!'
             }
         });
     </script>
    </body>
    </html>

     

    展开全文
  • ApplicationContext是Spring的核心,Context我们通常解释为上下文环境,我想用“容器”来表述它更容易理解一些,ApplicationContext则是“应用的容器”了:P,Spring把Bean放在这个容器中,需要的时候,用getBean...
    Spring中WebApplicationContext的研究

    ApplicationContext是Spring的核心,Context我们通常解释为上下文环境,我想用“容器”来表述它更容易理解一些,ApplicationContext则是“应用的容器”了:P,Spring把Bean放在这个容器中,在需要的时候,用getBean方法取出,虽然我没有看过这一部分的源代码,但我想它应该是一个类似Map的结构。
    在Web应用中,我们会用到WebApplicationContext,WebApplicationContext继承自ApplicationContext,先让我们看看在Web应用中,怎么初始化WebApplicationContext,在web.xml中定义:
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    第二种方法:
    <servlet>
    <servlet-name>context</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    可以看出,有两种方法,一个是用ContextLoaderListener这个Listerner,另一个是ContextLoaderServlet这个Servlet,这两个方法都是在web应用启动的时候来初始化WebApplicationContext,我个人认为Listerner要比Servlet更好一些,因为Listerner监听应用的启动和结束,而Servlet得启动要稍微延迟一些,如果在这时要做一些业务的操作,启动的前后顺序是有影响的。

    那么在ContextLoaderListener和ContextLoaderServlet中到底做了什么呢?
    以ContextLoaderListener为例,我们可以看到
    public void contextInitialized(ServletContextEvent event) {
         this.contextLoader = createContextLoader();
         this.contextLoader.initWebApplicationContext(event.getServletContext());
    }
    protected ContextLoader createContextLoader() {
         return new ContextLoader();
    }
    ContextLoader是一个工具类,用来初始化WebApplicationContext,其主要方法就是initWebApplicationContext,我们继续追踪initWebApplicationContext这个方法(具体代码我不贴出,大家可以看Spring中的源码),我们发现,原来ContextLoader是把WebApplicationContext(XmlWebApplicationContext是默认实现类)放在了ServletContext中,ServletContext也是一个“容器”,也是一个类似Map的结构,而WebApplicationContext在ServletContext中的KEY就是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,我们如果要使用WebApplicationContext则需要从ServletContext取出,Spring提供了一个WebApplicationContextUtils类,可以方便的取出WebApplicationContext,只要把ServletContext传入就可以了。

    上面我们介绍了WebApplicationContext在Servlet容器中初始化的原理,一般的Web应用就可以轻松的使用了,但是,随着Struts的广泛应用,把Struts和Spring整个起来,是一个需要面对的问题,Spring本身也提供了Struts的相关类,主要使用的有org.springframework.web.struts.ActionSupport,我们只要把自己的Action继承自ActionSupport,就是可以调用ActionSupport中getWebApplicationContext()的方法取出WebApplicationContext,但这样一来在Action中,需要取得业务逻辑的地方都要getBean,看上去不够简洁,所以Spring又提供了另一个方法,用org.springframework.web.struts.ContextLoaderPlugIn,这是一个Struts的Plug,在Struts启动时加载,对于Action,可以像管理Bean一样来管理,在struts-config.xml中Action的配置变成类似下面的样子
    <action attribute="aForm" name="aForm" path="/aAction" scope="request" type="org.springframework.web.struts.DelegatingActionProxy">
    <forward name="forward" path="forward.jsp" />
    </action>
    注意type变成了org.springframework.web.struts.DelegatingActionProxy,之后我们需要建立action-servlet.xml这样的文件,action-servlet.xml符合Spring的spring-beans.dtd标准,在里面定义类似下面的
    <bean name="/aAction" class="com.web.action.Aaction" singleton="false">
    <property name="businessService">
    <ref bean="businessService"/>
    </property>
    </bean>
    com.web.action.Aaction是Action的实现类,businessService是需要的业务逻辑,Spring会把businessService注入到Action中,在Action中只要写businessService的get和set方法就可以了,还有一点,action的bean是singleton="false",即每次新建一个实例,这也解决了Struts中Action的线程同步问题,具体过程是当用户做“/aAction”的HTTP请求(当然应该是“/aAction.do”),Struts会找到这个Action的对应类org.springframework.web.struts.DelegatingActionProxy,DelegatingActionProxy是个代理类,它会去找action-servlet.xml文件中“/aAction”对应的真正实现类,然后把它实例化,同时把需要的业务对象注入,然后执行Action的execute方法。

    使用了ContextLoaderPlugIn,在struts-config.xml中变成类似这样配置
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml" />
    </plug-in>
    而在web.xml中不再需要ContextLoaderListener或是ContextLoaderServlet。

    说到这里不知道大家会不会有这样的问题,如果使用ContextLoaderPlugIn,如果我们有些程序是脱离Struts的Action环境,我们怎么处理,比如我们要自定义标记库,在标记库中,我们需要调用Spring管理的业务层逻辑对象,这时候我们就很麻烦,因为只有在action中动态注入业务逻辑,其他我们似乎不能取得Spring的WebApplicationContext。

    别急,我们还是来看一下ContextLoaderPlugIn的源码(源码不再贴出),我们可以发现,原来ContextLoaderPlugIn仍然是把WebApplicationContext放在ServletContext中,只是这个KEY不太一样了,这个KEY值为ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX+ModuleConfig.getPrefix()(具体请查看源代码),这下好了,我们知道了WebApplicationContext放在哪里,只要我们在Web应用中能够取到ServletContext也就能取到WebApplicationContext了:)
    展开全文
  • VS和VSCODE中使用Nlog 一、导入NLog VS:"选择管理解决方案的NuGet程序包 " VSCODE:打开终端 输入 dotnet add <解决方案> package NLog (如当前文件夹可不填解决方案,详细参考官方文档) 二、配置NLog....

    在VS和VSCODE中使用Nlog


    一、导入NLog

    VS:"选择管理解决方案的NuGet程序包 "在这里插入图片描述
    在这里插入图片描述
    VSCODE:打开终端 输入
    dotnet add <解决方案> package NLog (如当前文件夹可不填解决方案,详细参考官方文档)
    在这里插入图片描述

    二、配置NLog.config文件(如果Nuget引用NLog没有生成对应配置文件时,需要自己添加)

    <?xml version="1.0" encoding="utf-8" ?>
    <!-- 
      This file needs to be put in the application directory. Make sure to set 
      'Copy to Output Directory' option in Visual Studio.
      -->
        <!--throwExceptions 记录NLog内部报错,internalLogFile路径 internalLogLevel报错等级 -->
    <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          throwExceptions="true" internalLogFile="D:\nlog.txt" internalLogLevel="Debug"
          >
      <targets>
         <target xsi:type
                ="Database" name="database" connectionstring="连接字符串">
                <!--mysql使用下面一句-->  
        <!--target xsi:type
                ="Database" name="database" dbProvider="MySql.Data.MySqlClient.MySqlConnection,Mysql.Data" connectionstring="连接字符串"-->   
          <commandText>
           <!--如果使用mysql则需要修改sql语句  mysql字段应为 `CreateDate`,不支持'[]'-->
            insert into MyLog ([CreateDate], [Origin], [LogLevel], [Message], [StackTrace]) values (@createDate, @origin, @logLevel, @message, @stackTrace);
          </commandText>
          <parameter name="@createDate" layout="${longdate}"/>
          <!--日志发生时间-->
          <parameter name="@origin" layout="${callsite}"/>
          <!--日志来源-->
          <parameter name="@logLevel" layout="${level}"/>
          <!--日志等级-->
          <parameter name="@message" layout="${message}"/>
          <!--日志信息-->
          <parameter name="@stackTrace" layout="${stacktrace}"/>
          <!--堆栈信息-->
        </target>
        </targets>
      <rules>
        <!-- add your logging rules here -->
        <logger name="*" writeTo="database"/>
        <!--
        <logger name="*" minlevel="Trace" writeTo="f" />
        -->
      </rules>
      </nlog>
    
    

    三、设置NLog

    VS中:选择NLog.config 选择始终复制到输出目录
    在这里插入图片描述

    VSCODE、
    终端输入命令 dotnet build 生成项目后
    将NLog.config 手动复制到生成目录下

    四、调用

    private static Logger logger = LogManager.GetCurrentClassLogger();  //Logger对象代表与当前类相关联的日志消息的来源    
            
            static void Main(string[] args)
            {
                logger.Trace("输出一条记录信息成功!");//最常见的记录信息,一般用于普通输出     
                logger.Debug("输出一条Debug信息成功!"); //同样是记录信息,不过出现的频率要比Trace少一些,一般用来调试程序     
                logger.Info("输出一条消息类型信息成功!");//信息类型的消息     
                logger.Warn("输出一条警告信息成功");//警告信息,一般用于比较重要的场合     
                logger.Error("输出一条错误信息成功!");//错误信息    
                logger.Fatal("输出一条致命信息成功!");//致命异常信息。一般来讲,发生致命异常之后程序将无法继续执行。  
            }
     
    
    展开全文
  • 20210424-国盛证券-碳中和系列一:各部委各省碳中和已有政策一览.pdf
  • 刚来这个公司有半个月了快,看了看有10年java经验的开发的高手写的ssh框架,感觉和自己学校学的真的很不一样,这才是真的ssh框架阿 哈哈 一开始不明白胡公为什么要吧,spring的加载放到web.xml里进行呢,而不是像...
    刚来这个公司有半个月了快,看了看有10年java经验的开发的高手写的ssh框架,感觉和自己在学校学的真的很不一样,这才是真的ssh框架阿 哈哈 一开始不明白胡公为什么要吧,spring的加载放到web.xml里进行呢,而不是像书上说的那样在struts里加一个plugin呢,自己也挺疑惑的,今天终于在网上找到了一遍文章终于解决了我心中的疑惑。阿~~~开心阿~~长了不少经验阿
    

    Spring中WebApplicationContext的研究

    ApplicationContext是Spring的核心,Context我们通常解释为上下文环境,我想用“容器”来表述它更容易理解一些,ApplicationContext则是“应用的容器”了:P,Spring把Bean放在这个容器中,在需要的时候,用getBean方法取出,虽然我没有看过这一部分的源代码,但我想它应该是一个类似Map的结构。
    在Web应用中,我们会用到WebApplicationContext,WebApplicationContext继承自ApplicationContext,先让我们看看在Web应用中,怎么初始化WebApplicationContext,在web.xml中定义:
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- OR USE THE CONTEXTLOADERSERVLET INSTEAD OF THE LISTENER
    <servlet>
        <servlet-name>context</servlet-name>
        <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    -->

    可以看出,有两种方法,一个是用ContextLoaderListener这个Listerner,另一个是ContextLoaderServlet这个Servlet,这两个方法都是在web应用启动的时候来初始化WebApplicationContext,我个人认为Listerner要比Servlet更好一些,因为Listerner监听应用的启动和结束,而Servlet得启动要稍微延迟一些,如果在这时要做一些业务的操作,启动的前后顺序是有影响的。

    那么在ContextLoaderListener和ContextLoaderServlet中到底做了什么呢?
    以ContextLoaderListener为例,我们可以看到
    public void contextInitialized(ServletContextEvent event) {
      this.contextLoader = createContextLoader();
      this.contextLoader.initWebApplicationContext(event.getServletContext());
    }
    protected ContextLoader createContextLoader() {
      return new ContextLoader();
    }
    ContextLoader是一个工具类,用来初始化WebApplicationContext,其主要方法就是initWebApplicationContext,我们继续追踪initWebApplicationContext这个方法(具体代码我不贴出,大家可以看Spring中的源码),我们发现,原来ContextLoader是把WebApplicationContext(XmlWebApplicationContext是默认实现类)放在了ServletContext中,ServletContext也是一个“容器”,也是一个类似Map的结构,而WebApplicationContext在ServletContext中的KEY就是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,我们如果要使用WebApplicationContext则需要从ServletContext取出,Spring提供了一个WebApplicationContextUtils类,可以方便的取出WebApplicationContext,只要把ServletContext传入就可以了。

    上面我们介绍了WebApplicationContext在Servlet容器中初始化的原理,一般的Web应用就可以轻松的使用了,但是,随着Struts的广泛应用,把Struts和Spring整个起来,是一个需要面对的问题,Spring本身也提供了Struts的相关类,主要使用的有org.springframework.web.struts.ActionSupport,我们只要把自己的Action继承自ActionSupport,就是可以调用ActionSupport中getWebApplicationContext()的方法取出WebApplicationContext,但这样一来在Action中,需要取得业务逻辑的地方都要getBean,看上去不够简洁,所以Spring又提供了另一个方法,用org.springframework.web.struts.ContextLoaderPlugIn,这是一个Struts的Plug,在Struts启动时加载,对于Action,可以像管理Bean一样来管理,在struts-config.xml中Action的配置变成类似下面的样子
    <action attribute="aForm" name="aForm" path="/aAction" scope="request"  type="org.springframework.web.struts.DelegatingActionProxy">
      <forward name="forward" path="forward.jsp" />
    </action>
    注意type变成了org.springframework.web.struts.DelegatingActionProxy,之后我们需要建立action-servlet.xml这样的文件,action-servlet.xml符合Spring的spring-beans.dtd标准,在里面定义类似下面的
    <bean name="/aAction" class="com.web.action.Aaction" singleton="false">
      <property name="businessService">
        <ref bean="businessService"/>
      </property>
    </bean>

    com.web.action.Aaction是Action的实现类,businessService是需要的业务逻辑,Spring会把businessService注入到Action中,在Action中只要写businessService的get和set方法就可以了,还有一点,action的bean是singleton="false",即每次新建一个实例,这也解决了Struts中Action的线程同步问题,具体过程是当用户做“/aAction”的HTTP请求(当然应该是“/aAction.do”),Struts会找到这个Action的对应类org.springframework.web.struts.DelegatingActionProxy,DelegatingActionProxy是个代理类,它会去找action-servlet.xml文件中“/aAction”对应的真正实现类,然后把它实例化,同时把需要的业务对象注入,然后执行Action的execute方法。

    使用了ContextLoaderPlugIn,在struts-config.xml中变成类似这样配置
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
      <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml" />
    </plug-in>
    而在web.xml中不再需要ContextLoaderListener或是ContextLoaderServlet。

    说到这里不知道大家会不会有这样的问题,如果使用ContextLoaderPlugIn,如果我们有些程序是脱离Struts的Action环境,我们怎么处理,比如我们要自定义标记库,在标记库中,我们需要调用Spring管理的业务层逻辑对象,这时候我们就很麻烦,因为只有在action中动态注入业务逻辑,其他我们似乎不能取得Spring的WebApplicationContext。

    别急,我们还是来看一下ContextLoaderPlugIn的源码(源码不再贴出),我们可以发现,原来ContextLoaderPlugIn仍然是把WebApplicationContext放在ServletContext中,只是这个KEY不太一样了,这个KEY值为ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX+ModuleConfig.getPrefix()(具体请查看源代码),这下好了,我们知道了WebApplicationContext放在哪里,只要我们在Web应用中能够取到ServletContext也就能取到WebApplicationContext了:) 

    展开全文
  • 刚来这个公司有半个月了快,看了看有10年java经验的开发的高手写的ssh框架,感觉和自己学校学的真的很不一样,这才是真的ssh框架阿 哈哈一开始不明白为什么要把spring的加载放到web.xml里进行呢,而不是像书上说的...
  • Linux中和POSIX标准

    千次阅读 2018-08-23 16:20:09
    POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要各种UNIX操作系统上运行的软件而定义的一系列...
  • 两个答案看上去没有任何问题,但是,仔细想想好像哪里不对呀。按照上面的两个面试题的回答,就是说 new String 也会检查常量池,如果有的话就直接引用,如果不存在就要常量池创建一个,那么还要intern干啥?难道...
  • 20210420-华创证券-【宏观专题】迈开碳中和的脚步系列四:中国的“碳”都哪?.pdf
  • 答案是否定的,既然可以,那这个取消版本的功能在哪里呢,sa easy ,我给大家截图,图文解说,一看便知,我就不废话了 第一步打开arcCatalog  第二步 看到了取消版本的工具,把他拖动工具栏上就ok了,就这么简
  • Xcode中和symbols有关的几个设置

    千次阅读 2016-07-25 15:16:50
    Xcode中和symbols有关的几个设置
  • 中和农信 java 二面

    2020-11-26 10:57:36
    局部变量, 对象在哪里 mysql事务 悲观锁和乐观锁 mybatis # $ 的区别 内存溢出和内存泄漏 内存泄漏, 内存为什么不会被回收 map实现原理 工厂模式(三个都讲了), 观察者模式 springboot和...
  • 高瓴发布首份碳中和报告:聚焦脱碳之路上的机遇和挑战-高瓴
  • js中和html中onclick绑定函数要不要加括号的问题
  • start with 216 从哪里开始 nocache 有没有缓存 noorded 能不能排序 nocycle ; 能不能循环 索引 index(不重要,了解就行,DBA才用) 作用 加速查询速度 原理 底层通过树状结构组织数据,...
  • 例子1. void fun (int *x , int *y) { printf("%d, %d", *x, *y) ; *x = 3; *y = 4;} main(){ int x = 1, y = 2 fun(&y, &x); printf("%d, %d", x, y);...注意main调用fun函数时, y 和x故意写...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,584
精华内容 4,633
关键字:

中和在哪里