Spring 点滴笔记

从HttpServletRequest获取IP

    private static final String IPADRESS_TYPE_UNKNOWN="unknown";
	
	
	public String getIpAddress(HttpServletRequest request) {
		String ip = request.getHeader("x-forwarded-for");
		if (ip == null || ip.length() == 0 || IPADRESS_TYPE_UNKNOWN.equalsIgnoreCase(ip)) {
			ip = request.getHeader("Proxy-Client-IP");
		}
		if (ip == null || ip.length() == 0 || IPADRESS_TYPE_UNKNOWN.equalsIgnoreCase(ip)) {
			ip = request.getHeader("WL-Proxy-Client-IP");
		}
		if (ip == null || ip.length() == 0 || IPADRESS_TYPE_UNKNOWN.equalsIgnoreCase(ip)) {
			ip = request.getHeader("HTTP_CLIENT_IP");
		}
		if (ip == null || ip.length() == 0 || IPADRESS_TYPE_UNKNOWN.equalsIgnoreCase(ip)) {
			ip = request.getHeader("HTTP_X_FORWARDED_FOR");
		}
		if (ip == null || ip.length() == 0 || IPADRESS_TYPE_UNKNOWN.equalsIgnoreCase(ip)) {
			ip = request.getRemoteAddr();
		}
		return ip;
	}

基于xml的spring项目的测试需要加载配置文件。写个被继承的基类,这样不用每个测试类都加载配置文件

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
        "/WEB-INF/applicationContext.xml",
        "/WEB-INF/applicationContext-mainLand.xml",
        "/WEB-INF/security.xml"
})
public abstract class JunitAccessBase {


}

Spring项目中使用jRebel热部署web项目。

Note

  • IntelliJ IDEA does not compile classes on save by default. Press Ctrl+Shift+F9 to compile the current file, module or package (you can also find this command via Build > Make Project).
  • Once you have generated rebel.xml, you need to redeploy your applicationto the server for the configuration to take effect.

MultipartFile 提供了以下方法来获取上传 的文件信息 :
getOriginalFilename , 获取上传的文件名字 :
getBytes ,我取上传文件内容,转为字节数组:
getlnputStream,获取一个 InputStream;
isEmpty , 文件上传内容为空 ,或者就没有文件上传 :
getSize , 文件上传的大小 ;
transferTo(file dest), 保存上传文件到目标文件系统 。

如果是同时上传多个文件 , 则使用 MultipartFile 数组类来接受多个文件上传 :
这要求你的 HTTP 请求中包含多个name为数组名的文件 :

可以通过配置文件 application.properties 对 Spring Boot 上传的文件进行限定,默认为如下配置:
spring.servlet .multipart .enabled=true
spring .servlet.multipart .fil e-size-threshold=0
spring .servlet.multipart .location=
spring .serv_let.multipart.max-file-size=1MB
spring.servlet.multipart . max-request - size=10MB
spring .servlet .multipart .resolve-lazily=false


Spring中获取指定类型的Bean集合

继承

ApplicationContextAware

设置

ApplicationContext applicationContext

调用applicationContext中的方法

Map<String, EventHandler> beans = applicationContext.getBeansOfType(EventHandler.class);

ajax传一个对象(包含数组参数)后台,后台springmvc接收数组参数

1bd57a63cdb021d24f9651a9df2124265e0.jpg

    @ResponseBody
    @RequestMapping("/realOnlineMainJson")
    public String realOnlineMainJson(HttpServletRequest request, String pid, String gid, Integer openServerDays, @RequestParam(value = "serverId[]") Integer[] serverId){}

 

转载于:https://my.oschina.net/hutaishi/blog/1560266

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring是一个开源的Java框架,用于构建企业级应用程序。它提供了一种轻量级的、非侵入式的开发方式,通过依赖注入和面向切面编程等特性,简化了Java应用程序的开发过程。 以下是关于Spring学习的一些笔记: 1. IoC(控制反转):Spring通过IoC容器管理对象的创建和依赖关系的注入。通过配置文件或注解,将对象的创建和依赖关系的维护交给Spring容器来管理,降低了组件之间的耦合度。 2. DI(依赖注入):Spring通过依赖注入将对象之间的依赖关系解耦。通过构造函数、Setter方法或注解,将依赖的对象注入到目标对象中,使得对象之间的关系更加灵活和可维护。 3. AOP(面向切面编程):Spring提供了AOP的支持,可以将与业务逻辑无关的横切关注点(如日志、事务管理等)从业务逻辑中分离出来,提高了代码的可重用性和可维护性。 4. MVC(模型-视图-控制器):Spring提供了一个MVC框架,用于构建Web应用程序。通过DispatcherServlet、Controller、ViewResolver等组件,实现了请求的分发和处理,将业务逻辑和视图展示进行了分离。 5. JDBC和ORM支持:Spring提供了对JDBC和ORM框架(如Hibernate、MyBatis)的集成支持,简化了数据库访问的操作,提高了开发效率。 6. 事务管理:Spring提供了对事务的支持,通过声明式事务管理和编程式事务管理,实现了对数据库事务的控制和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值