注入对象类型属性(重点) Action要new一个service对象,Service中又要new一个Dao对象,现在把new的过程交给spring来操作 1 创建service类和dao类 (1)在service得到dao对象 2 具体实现过程(不通过new) (1)在service里面把dao作为类型属性 (2)生成dao类型属性的set方法 (3)配置文件中注入关系 控制台: service...... dao......... 得知,在类中注入对象类型属性完成 P名称空间注入 在一个标签中…
Web项目如何初始化SpringIOC容器 :思路:当服务启动时(tomcat),通过监听器将SpringIOC容器初始化一次(该监听器 spring-web.jar已经提供),web项目启动时 ,会自动加载web.xml,因此需要在web.xml中加载 监听器(ioc容器初始化).所谓的ioc容器其实相当于applicationContext.xml配置文件,把所有被ioc管理的对象放入其中,放入bean标签里,当做对象管理!!! <!-- 指定 Ioc容器(就是applicationCont…
引言: 在刚开始我们接触IOC时,我们加载并启用SpringIOC是通过如下代码手动加载 applicationContext.xml 文件,new出context对象,完成Bean的创建和属性的注入. public class TestIOC { @Test public void testUser() { // 1.加载Spring配置文件,创建对象 ApplicationContext context = new ClassPathXmlApplicationContext("/sprin…
log4j介绍 1 通过log4j可以看到程序运行过程中更详细的信息 (1)经常使用log4j查看日志 2 使用 (1)导入log4j的jar包 (2)复制log4j的配置文件,复制到src下面 3 设置日志级别 (1)info:看到基本信息 (2)debug:看到更详细信息 Spring整合web项目演示 1 演示问题 (1)action调用service,service调用dao(注入) 注入 struts.xml中配置action web.xml中配置struts2过滤器 每次访问acti…
1 Spring 在web项目中的启动过程 Spring简介 Spring 最简单的功能就是创建对象和管理这些对象间的依赖关系,实现高内聚.低耦合.(高内聚:相关性很强的代码组成,既单一责任原则:低耦合:耦合指块间联系,低耦合既块间联系要低.) 还提供像通用日志.性能统计.安全控制.异常处理等面向切面的能力,能帮我们管理最头疼的数据库事务. 本身提供了一套简单的JDBC访问实现,提供了与第三方数据访问框架的集成(如Hibernate.JPA.MyBatis),与各种java EE技术整合(如任务…
今天遇到一个问题,就是使用springboot整合web项目的时候,怎么都访问不到 \webapp\WEB-INF\jsp\index.jsp 页面.这个问题搞了半天,试了各种方式.最后是因为在启动的时候没有指定 working directory . 最后指定了工作目录之后,重启项目既可以成功访问了. 我的项目结构: application.properties 配置文件: spring.mvc.view.prefix=/WEB-INF/jsp/spring.mvc.view.suffix=.…
今天新搭建了一个spring的web项目,项目启动时会启动一个线程,线程里定时执行任务,另外还启动了一个定时器,每秒钟统计系统吞吐量等业务性能数据.但是调试的时候惊奇的发现定时器和线程均被启动了两次.同样的框架,之前从来没有出现过这种问题,后来终于找到问题所在: 在debug/run配置的选项卡中,将默认的 “/” 根目录改为 “/项目名称” 即可,如下图所示: 还有这个地方也要修改:…
WebApplicationContextUtils 一.Spring整合web之前 案例:给部门列表添加新部门 import org.apache.log4j.Logger; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import javax.servlet.annotation…
如何有顺序的搭建一个Spring的web项目 一.新建一个简单的maven,war工程 eclipse下如有报错,右键 Deployment 单击 Generate 生成web.xml后可解决报错 二.引入Spring的web依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0…
清楚了spring的IOC 和 AOP,最后一篇就来整合SSH框架把,记录下来,以后应该会用的到. --WH 一.web项目中如何使用spring? 当tomcat启动时,就应该加载spring的配置文件,而不是每次都要手动使用new  ClassPathXmlApplicationContext来加载xml.所以,spring提供了一个ContextLoaderListener.有了它,tomcat启动时,就会加载配置文件. 导入spring.web....jar 1.web.xml中添加监听…
清楚了spring的IOC 和 AOP,最后一篇就来整合SSH框架把,记录下来,以后应该会用的到. --WH 一.web项目中如何使用spring? 当tomcat启动时,就应该加载spring的配置文件,而不是每次都要手动使用new  ClassPathXmlApplicationContext来加载xml.所以,spring提供了一个ContextLoaderListener.有了它,tomcat启动时,就会加载配置文件. 导入spring.web....jar 1.web.xml中添加监听…
一.SSM框架整合 1.1.整合思路 从底层整合起,也就是先整合mybatis与spring,然后在编写springmvc. 1.2.开发需求 查询商品列表(从数据库中查询) 1.3.创建web工程 现在ssm的工程创建就有区别于原先的dao.service.web这样的三层目录了,现在是mapper.service.controller这样的目录,mapper就相当于以前的dao.controller相当于以前的web,改变了名称而已.不要因此看不懂了. 1.4.添加jar包 这种jar包,上…
之前简单介绍过Spring框架,本文换个角度重新诠释Spring.使用Java语言开发的项目,几乎都绕不过Spring,那么Spring到底是啥,为何被如此广泛的应用,下面从以下两个问题出发来剖析Spring,本文所有讨论基于Spring 4. Spring是啥 Spring 是一个分层的 JavaSE/EE一站式(full-stack)轻量级开源框架. 引入问题: 1.1 何为分层,为什么要分层? 分层即将一体化的软件系统按不同的功能特性拆分成多个独立的功能模块,分层的目的在于解耦,解耦的目的…
在最近的项目中,使用到了spring相关的很多东西,有点把spring的配置给搞混了,从网上查到的资料以及整理了一下. 在Web项目中,启动spring容器的方式有三种,ContextLoaderListener: ContextLoaderServlet :ContextLoaderPlugIn  1.在web.xml中配置ContextLoaderListener,如 <context-param>         <param-name>contextConfigLocati…
前言 如今的Java项目,如果还使用传统的把jar包复制到目录下这种原始的方式,对于依赖管理来说实在是灾难.对某个功能需要引入某种技术包,但是你不确定是否已存在,如果分类好的话还好找,若是杂在一堆不仅头大,还身心俱疲.Maven旨在解决依赖问题,让项目结构变得精简,而Spring解决了项目中Bean的管理以及各种配置文件配置的功能轻松读入等问题,对于Java项目来说确实是福音.对于一个Web项目来说,必然需要数据库的读写,JdbcTemplate是一个Spring实现的Jdbc Support.…
使用Maven创建java web 项目(Spring MVC)用到如下工具: 1.Maven 3.2 2.IntelliJ IDEA 13 3.JDK 1.7 4.Spring 4.1.1 released 5.Tomcat7 6.Logback 1.0.13 日志输出组件 接下来开始演示如何用Maven模板创建web项目 1.使用maven-archetype-webapp模板快速创建web项目的骨架结构 打开控制台,进入到你想要创建web项目的目录,然后运行如下命令: $ mvn arch…
使用spring+springMVC+mybatis+kafka做了两个web项目,一个是生产者,一个是消费者. 通过JMeter测试工具模拟100个用户并发访问生产者项目,发送json数据给生产者的接口,生产者将json数据发送到kafka集群, 消费者监听到kafka集群中的消息就开始消费,并将json解析成对象存到MySQL数据库. 下面是使用JMeter测试工具模拟100个并发的线程设置截图: 请求所发送的数据: 下面是100个用户10000个请求的聚合报告: 下面是生产者截图生产完10…
3.1   认识Srping Boot Spring Boot是一个框架,是一种全新的编程规范,它的产生简化了对框架的使用,简化了Spring众多的框架中大量的繁琐的配置文件,所以说Spring Boot是一个服务于框架的框架,服务范围是简化文件的配置. Spring Boot的核心功能: 独立运行的spring项目:可以以jar包的形式独立运行,通过Java -jar xx.jar来运行. 内嵌的servlet容器:可以选择内嵌的Tomcat.Jetty或者Undertow. 提供starte…
1. tomcat启动时,加载配置文件,将bean装在 导入jar包spring-web..jar 2.确定配置文件位置 3.spring整合hibernate <!-- 加载hibernate.cfg.xml,获取SessionFactory (HibernateTemplate底层也是使用Session) --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.Loc…
在Web应用开发过程中,一般都涵盖一些常用功能的实现,如数据库访问.异常处理.消息队列.缓存服务.OSS服务,以及接口日志配置,接口文档生成等.如果每个项目都来一套,则既费力又难以维护.可以通过Spring Boot的Starter来将这些常用功能进行整合与集中维护,以达到开箱即用的目的. 项目基于Spring Boot 2.1.5.RELEASE 版.项目地址: https://github.com/ronwxy/base-spring-boot 整个项目分为如下几部分: spring-boo…
这个内容就是实操过程中各种访问不了jsp页面,各种尝试后的解决方案吧.可能不是最优的,但是目前能解决项目中的一些问题.之前觉得没有什么问题直接可以操作的,没想到在这部分还是耗时了. 开发工具idea2019.3.3 需求:jsp页面登录访问,根据输入的用户名和密码进行校验用户是否具有相关权限. 遇到问题:login.jsp页面访问不了,导致后续业务逻辑根本没办法验证 下面记录整个操作过程: 一.项目目录结构建立 项目初始化完成后,目录结构如下图: 手动建webapp目录,并设置相关配置:(注意目…
正常整合Servlet和Spring没有问题的 public class UserServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ApplicationContext applicationContext = new ClassPathXmlApplicat…
搭建效果为: 直接在网页输入请求,在页面中显示一行文字:Hello,Spring Boot 与一般的wen项目不同的地方: 1.不需要配置web.xml 文件,但需要注解@SpringBootApplication 等2.一切和spring有关的jar包都不需要版本号,springcloud会给你选择它最稳定的版本3.它会定位public static void main()方法来标记为可运行类,必须在主路径下4.启动方式: a.右键运行main方法 b.由于我们使用了 spring-boot-…
1.要在web启动时预加载数据到ServletContext,实现方法有很多,一种比较简单的方案就是: 1)新建一个bean,定义其初始化方法: <bean id="beanId" class="beanClassName" init-method="初始化方法" />或者使用@PostConstruct注解到初始化方法上面 2)获取ServletContext实例对象,如何获取呢? 方法1: @Autowired private S…
最近在用spring boot 做一个web站点,修改了类.html.js等,刷新页面,没有生效,非要手动去make一下或者重启,大大降低了开发效率. 什么是热部署? 应用启动后会把编译好的Class文件加载的虚拟机中,正常情况下在项目修改了源文件是需要全部重新编译并重新加载(需要重启应用).而热部署就是监听Class文件的变动,只把发生修改的Class重新加载,而不需要重启应用,使得开发变得简便. 于是乎就在网上找到了一遍文章,安装文章设置,成功实现热部署,修改完刷新页面就能马上看到效果. 1…
1.新建project 2.选择Spring Initializr,next 3.输入项目信息,next 4.选择web依赖以及Spring Boot的版本,next 5.Finish 6.Enable Auto-Import…
一.@RequestParam 这个注解用来绑定单个请求数据,既可以是url中的参数,也可以是表单提交的参数和上传的文件 它有三个属性,value用于设置参数名,defaultValue用于对参数设置默认值,required为true时,如果参数为空,会报错 好,下面展示具体例子: 首先是vm: <h1>param1:${param1}</h1> <h1>param2:${param2}</h1> 好吧,就为了展示两个参数 第一种情况: @RequestMa…