spring相关

1、spring优势

1)轻量级

2)模块化

3)spring-web框架

4)特定的异常捕获

5)IOC、AOP

6)事务管理

2、DI依赖注入:把许多需要的类合在一起,但又保证各自的独立性;注入的两种方式:构造器注入、setter注入

3、AOP

4、Core Container

1)IOC、AOP框架的基本部分

2)Bean提供BeanFactory

3)Context提供配置文件访问对象

4)SpEL 语法

5、 注解

1)@Repository 数据访问层

2)@Component 表示一个组件

3)@Service  业务层

4)@Constroller  控制层

5)@PostConstruct 和 @PreDestroy  初始化和销毁的 

6)@autowire

      a)no -- 显式指定不使用自动装配

      b)byName

      c)byType

      d)constructor

      e)autodetect 有默认构造器则byType否则constructor

7)@Qualifier("ppp") 提供一个 String 类型的值作为候选的 Bean 的名字;至可以作用于方法的参数

8)@Resource JDK自带,默认byName

6、spring的controller是单例还是多例,怎么保证并发的安全?

默认是单例。

保证:

1)不要在controller中定义成员变量。

2)万一必须要定义一个非静态成员变量时候,则通过注解@Scope("prototype"),将其设置为多例模式。

7、Spring的beanFactory和factoryBean的区别(参考https://www.cnblogs.com/redcool/p/6413461.html

1)beanFactory:用于管理Bean的一个工厂,职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。

Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
Person p = factory.getBean("person");//getType("")、isSingleton("")...

2)factoryBean:接口

public interface FactoryBean<T> {
    T getObject() throws Exception;

    Class<?> getObjectType();

    boolean isSingleton();
}

8、spring bean 生命周期

1)Bean的作用域可以通过Bean标签的scope属性进行设置,Bean的作用域包括:
默认情况下scope="singleton",那么该Bean是单例,任何人获取该Bean实例的都为同一个实例;
scope="prototype",任何一个实例都是新的实例;
scope="request",在WEB应用程序中,每一个实例的作用域都为request范围;
scope="session",在WEB应用程序中,每一个实例的作用域都为session范围;

注意:在默认情况下,Bean实例在被Spring容器初始化的时候,就会被实例化,默认调用无参数的构造方法。在其它情况下,Bean将会在获取实例的时候才会被实例化。

2)Bean可以通过指定属性init-method指定初始化后执行的方法,以及通过指定属性destroy-method销毁时执行的方法。

语法:<bean ....   destroy-method="销毁时调用的方法名" init-method="初始化后执行的方法名"/>

9、spring 循环注入的原理

有一个类A,A有一个构造器里面的参数是类B,然后类B里面有个构造器参数是类C,类C里面有个构造器参数是类A,就是我们会发现其实引用循环了A 里面有B的引用,B里面有C的引用,C里面又有A的引用。

10、Timer与Quartz的区别有三点:

1.出身不同:Timer由jdk直接提供,调用方式简单粗暴,不需要其它jar包支持。Quartz并非jdk自带,需要引入相应的jar包

2.能力区别:主要体现在对时间的控制上。某个具体时间执行具什么任务的话Timer可以轻松搞定,而比如每个星期天早上八点提醒做某事的功能就需要Quartz,因此Quartz对时间的控制远比Timer强大,完善

3.底层机制:

posted @ 2017-12-17 18:31  水底的土豆  阅读(146)  评论(0编辑  收藏  举报