自动装配: spring利用依赖注入和DI完成对IOC容器中各个组件的依赖关系赋值.自动装配的优点有: 自动装配可以大大地减少属性和构造器参数的指派. 自动装配也可以在解析对象时更新配置. 自动装配的方式有很多,其中包含spring的注解以及java自带的注解下面来看一看这些自动装配方式的区别 1.@Autowired(Spring规范) @Autowired 在Spring2.5引入,可以对成员变量.方法和构造函数进行标注,来完成自动装配的工作. 无需再通过传统的在bean的xml文件中进行b…
这个系列主要是讲Spring注解的使用,可以为后面SpringBoot的学习带来一定的帮助.我觉得从Spring直接过度到SpringBoot还是有点快,还是得需要一个演变的过程.从Spring开发,再到注解开发,然后到SpringBoot开发,可以让大家知道框架是怎样炼成的,以及Java项目的开发是如何一步一步地将臃肿地xml配置从项目中移除,转而用优雅地注解来代替配置的. 01. Spring注解之组件注册(上) 02. Spring注解之组件注册(下) 03. Spring注解之生命周期…
注解开发 --- AOP AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,横向重复,纵向抽取.详细的AOP介绍请看这里,本篇主要是讨论AOP在spring注解开发中的运用. AOP的使用 1.导入aop模块(spring-aspects) <dependency> <groupId>org.springframework</groupId> <artifactId>…
SpringMVC是三层架构中的控制层部分,有过JavaWEB开发经验的同学一定很熟悉它的使用了.这边有我之前整理的SpringMVC相关的链接: 1.SpringMVC入门 2.SpringMVC进阶 3.深入SpringMVC注解 看过之后大致对springmvc有一个了解,但对于真正完全掌握springmvc还差得远,本篇博客主要针对的是springmvc的注解开发,传统的项目使用spingmvc避免不了地需要在web.xml里配置前端控制器等等,想要在项目中优雅地去掉这些配置,还得学习如…
Servlet3.0简介 Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署.其中有几项特性的引入让开发者感到非常兴奋,同时也获得了 Java 社区的一片赞誉之声: 1.异步处理支持:有了该特性,Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程.在接收到请求之后,Servlet 线程可以…
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低.2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率.为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密…
1.@Import注册组件 @Import主要功能是通过导入的方式实现把实例加入springIOC容器中, /** * 给容器注册组件 * 1.包扫描+组件标注注解(@Controller,@Service,@Repository,@Component) * 2.@Bean(导入第三方包里的组件) * 3.@Import[快速给容器导入组件] * 1)@Import(要导入容器的组件),容器中就会自动注册这个组件 * 2)ImportSelector:返回需要导入的组件的全类名数组 * 3)Im…
Bean的生命周期 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解. 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模式 Bean 的完整生命周期,对于 prototype 的 bean ,Spring 在创建好交给使用者之后则不会再管理后续的生命周期. Bean的初始化和销毁方法 /** * Bean的生命周期 * ---由容器管理bean的创建,初始化,销毁 * * 构造,创建对象…
在Spring框架中,属性的注入我们有多种方式,我们可以通过构造方法注入,可以通过set方法注入,也可以通过p名称空间注入,方式多种多样,对于复杂的数据类型比如对象.数组.List集合.map集合.Properties等,我们也都有相应的注入方式.其中比较常用的是set注入的方式,下面来看看spring的Set注入的方式. 1.在bean中配置属性(Set方法注入) 该注入方式需要bean(实体类)为属性提供setter方法 xml版: <bean id="person" cla…
一. Servlet中的异步请求 在Servlet 3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次Http请求都由某一个线程从头到尾负责处理.如果要处理一些IO操作,以及访问数据库,调用第三方服务接口时,这种做法是十分耗时的.可以用代码测试一下: 同步方式处理:  @WebServlet("/helloServlet") public class HelloServlet extends HttpServlet { @Override pro…