精华内容
下载资源
问答
  • 获取上下文的几种方式AnnotationConfigApplicationContext:从一个或多个基于Java的配置类中加载Spring应用上下文。AnnotationConfigWebApplicationContext:从一个或多个基于Java的配置类中加载Spring Web应用上...

    一 前言

    打算重温spring,以后可能每周会发一篇吧,有空就搞搞;

    二 获取上下文的几种方式

    AnnotationConfigApplicationContext:从一个或多个基于Java的配置类中加载Spring应用上下文。

    AnnotationConfigWebApplicationContext:从一个或多个基于Java的配置类中加载Spring Web应用上下文。

    ClassPathXmlApplicationContext:从类路径下的一个或多个XML配置文件中加载上下文定义。

    FileSystemXmlapplicationcontext:从文件系统下的一个或多个XML配置文件中加载上下文定义。

    XmlWebApplicationContext:从Web应用下的一个或多个XML配置文件中加载上下文定义

    2.1 准备工作

    被单实体

    public class Sheet {

    // 颜色

    private String color;

    // 长度

    private String length;

    // 省略 set get

    }

    sheet.xml 里面注入了Bean Sheet, 并且默认初始化 color值为red;

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans.xsd">

    2.2FileSystemXmlapplicationcontext 获取上下文

    FileSystemXmlApplicationContext 构造器参数中需要指定sheet.xml具体文件系统路径;获得上下文之后再通过getBean方法获取Bean Sheet; 拿到对象后使用getColor 方法打印颜色,为pink;

    public static void main(String[] args) {

    // xml路径

    String path = "C:\\java\\workspaceforresource\\study-spring\\obtain-bean-way\\src\\main\\resources\\sheet.xml";

    // 从文件系统中获取上下文

    ApplicationContext applicationContext = new FileSystemXmlApplicationContext(path);

    // 获取bean

    Sheet sheet = (Sheet) applicationContext.getBean("sheet");

    // pink

    System.out.println(sheet.getColor());

    }

    2.3ClassPathXmlApplicationContext获取上下文

    ClassPathXmlApplicationContext 传入参数是类路径下sheet.xml的路径;

    public static void main(String[] args) {

    // 获取上下文

    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("sheet.xml");

    // 获得实例

    Sheet sheet = (Sheet) applicationContext.getBean("sheet");

    // pink

    System.out.println(sheet.getColor());

    }

    2.4AnnotationConfigApplicationContext获取上下文

    AnnotationConfigApplicationContext 获取上下文,是通过java配置的方式获取上下文;知识追寻者这边需要进行java配置,内容如下,等同于之前的sheet.xml

    /**

    * @Author lsc

    *

    sheet配置类等同于sheet.xml

    */

    @Configuration

    public class SeetConfig {

    // 往配置类中注入Bean

    @Bean

    public Sheet sheet(){

    // 创建对象

    Sheet sheet = new Sheet();

    // 设置属性

    sheet.setColor("pink");

    return sheet;

    }

    }

    获取方式如下,传入AnnotationConfigApplicationContext 参数是SeetConfig.class

    public static void main(String[] args) {

    // 获取上下文

    ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SeetConfig.class);

    // 获得实例

    Sheet sheet = (Sheet) applicationContext.getBean("sheet");

    // pink

    System.out.println(sheet.getColor());

    }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • java 获取上下文路径

    2018-03-28 19:08:43
    一、在java类中获取路径1.获取项目的目录,String filePath = LicValidate.class.getProtectionDomain().getCodeSource().getLocation().getFile();System.out.println(filePath);2.获取服务器的目录 //D:\apache-...

    一、在java类中获取路径

    1.获取项目的目录,

    String filePath = LicValidate.class.getProtectionDomain().getCodeSource().getLocation().getFile();

    System.out.println(filePath);


    2.获取服务器的目录

     //D:\apache-tomcat-7.0.82\webapps\ROOT\WEB-INF
                File directory = new File("");//设定为当前文件夹
    //          System.out.println(directory.getAbsolutePath());//D:\apache-tomcat-7.0.82\bin
                String path = directory.getAbsolutePath().replace("bin","webapps/ROOT/WEB-INF/license.lic");

    总结:两种获取方式,侧重点不一,一个是获取项目,一个是服务器。

    展开全文
  • } } 然后在您的清单中,您需要将此类添加到“应用程序”选项卡的“名称”字段。或者编辑xml和put android:name=...

    最简单(正确)的方法是:

    定义一个新类

    public class MyApp extends Application {

    private static MyApp instance;

    public static MyApp getInstance() {

    return instance;

    }

    public static Context getContext(){

    return instance;

    // or return instance.getApplicationContext();

    }

    @Override

    public void onCreate() {

    instance = this;

    super.onCreate();

    }

    }

    然后在您的清单中,您需要将此类添加到“应用程序”选项卡上的“名称”字段。或者编辑xml和put

    android:name="com.example.app.MyApp"

    android:icon="@drawable/icon"

    android:label="@string/app_name"

    .......

    ......

    然后从您可以打电话的任何地方

    MyApp.getContext();

    希望它有帮助

    展开全文
  • Java中是否有请求上下文?我有一个处理请求的java servlet引擎。假设我们有doGet请求:public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//set...

    我不确定如何在这里标题的标题,因为我不确定如何去寻找答案。Java中是否有请求上下文?

    我有一个处理请求的java servlet引擎。假设我们有doGet请求:

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    //set up user data

    //do whatever the user requested

    SomeClass c = new SomeClass();

    c.doSomething();

    }

    现在,在doSomething中,我希望能够访问哪个用户提出请求。现在,我通过创建一个Java对象并将它传递到哪里,我需要做的是:

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    //set up user data

    MyUserObj userObj = new MyUserObj();

    userObj.setId('123');

    //do whatever the user requested

    SomeClass c = new SomeClass(userObj);

    c.doSomething();

    }

    通过这样做,我有机会获得MyUserObj的实例,它可以沿着如果需要,可以进一步通过。

    这感觉马虎。在asp.net MVC3中(我目前正在学习它,在我开始学习java之后开始学习,但发现这非常方便,所以让我重新思考我是如何在java中进行的),例如,我可以存储当前项目像这样的线程:HttpContext.Current.Items.Add("myId", "123")。然后可以在其他函数中使用HttpContext,而不必传递对象。

    是否有在Java中的方式来设置每个请求一些变量(或甚至设置MyUserObject稍后访问)而不经过对象通过作为参数?

    如果这是一种常见的已经回答的问题随时给我指出正确的方向,因为我不知道如何句话吧。

    2012-04-17

    Two13

    +0

    我自由地编辑了你的标题。请验证它是否是一个好的 –

    2012-04-17 18:48:51

    +0

    我只是明确地传递它,隐式状态和依赖关系对可维护性不利。像Spring这样的框架应该明确地帮助删除一些样板和混乱。 –

    2012-04-17 18:48:54

    +0

    如果你理解我的问题,那么我相信你的标题编辑比我原来的标题更好:) –

    2012-04-17 18:55:49

    展开全文
  • JAVA创建request ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest();
  • JAVA获取Spring上下文

    2015-04-16 11:25:00
    1. 添加监听 public class SpringContextListener implements ServletContextListener { ... //获取spring注入的bean对象 public static WebApplicationContext springContext; public void contextDestr...
  • 在这里,我们将考虑执行验证的不同方法,什么是上下文验证以及为什么它胜过所有其他方法。绑定到数据模型的上下文无关的验证当前大多数框架都迫使我们及其用户将验证放入数据模型中。至少对于我们大多数人来说,默认...
  • java如何获取spring上下文ApplicationContext?解决方法:http://www.yayihouse.com/yayishuwu/chapter/1281
  • Java获取HTTP请求的上下文绝对路径

    千次阅读 2018-09-13 18:00:52
    本文介绍使用Java获取一个请求的完整的 协议名+主机+端口号,如:http://127.0.0.1:14530。获取该地址后,可以设为全局变量(contextPath),在系统页面中作为路径前缀使用。 请参考以下代码片段: // 获取HTTP...
  • package ...import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextA...
  • web.xml 配置: ... protected void doPost(HttpServletRequest request, HttpServletResponse response) ... System.out.println("====上下文中配置的1=========="+user); }
  • 获得web根的上下文环境如 /treetree是web项目的root context2.可以在servlet的init方法里String path = getServletContext().getRealPath("/");这将获取web项目的全路径例如:\eclipse\workspace\tree\tree是web项目...
  •  并关掉懒加载,让项目初始化的时候就给applicationContext对象赋上值 测试: 我们可以通过工具类直接拿到spring容器中的对象,这是因为在初始化项目的时候我们给工具类中的spring上下文属性applicationContext赋上...
  • 上下文在initState期间可用,但您必须包装将对话框推送到Future中的代码,以便它仅在下一帧完成 .这是一个充实的例子:import 'dart:async';import 'package:flutter/material.dart';void main() => runApp(new ...
  • 前言基于Spring Cloud的全链路灰度蓝绿发布功能,其中一个场景是,基于Header传递的全链路灰度路由,采用配置中心配置路由策略映射在网关或者服务,支持根据用户自定义Header跟路由策略整合,最终转化为路由Header...
  • ServletContext 获取上下文对象

    千次阅读 2017-10-26 21:32:03
    ServletContext 一个项目只有一个ServletContext 在多个servlet...1、获取上下文对象package com.zhiyou.servlet.demo02;import java.io.IOException;import javax.servlet.ServletContext; import javax.servlet.Serv
  • 一、获得都是当前运行文件在服务器的绝对路径在servlet里用:this.getServletContext().getRealPath(); 在struts用:this.getServlet().getServletContext().getRealPath(); 在Action里用:ServletActionContext....
  • Java线程上下文类加载器

    千次阅读 2015-01-09 00:01:18
    1 线程上下文类加载器 ...类 java.lang.Thread中的方法 getContextClassLoader()和 setContextClassLoader(ClassLoader cl)用来获取和设置线程的上下文类加载器。如果没有通过 setContextClassLoad
  • 获取上下文信息

    2017-07-17 16:50:00
    不多说,直接代码: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; import javax.servlet.ServletContext; import ...
  • * @func 上下文环境工具类 * @author 皮锋 * @date 2016/12/26 */ public class ContextUtils { /** * @func SpringMvc下获取request * @author 皮锋 * @date 2016/12/26 * @return ...
  • JAVA 得到上下文绝对路径

    千次阅读 2013-12-19 01:37:24
    /* 第一种:在 Struts2 当中,Struts1同样也可通过这种形式获取: */ /* 获取 request 对象 */ HttpServletRequest request.../* 得到当前上下文绝对路径以保存图片 */ String contextPath = request.getSession().getServ
  • package com.ricoh.rapp.ezcx.iwbservice.util; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; ...import org.springframework.context.Applicati...
  • 用Spring容器管理Bean是我们一惯的做法,这里的Spring容器指的就是Spring上下文。一般来说,我们会使用注入的方式将所需要的Bean注入到目标Target,但有时还是会存在不适合注入的情况,例如动态获取之类的,这时我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 968
精华内容 387
关键字:

java获取上下文

java 订阅