为了账号安全,请及时绑定邮箱和手机立即绑定
  • Spring注入 1.Spring注入是指在启动Spring容器加载Bean配置的时候,完成对变量的赋值行为。 2.常用的两种注入方式: --设值注入 --构造注入 3.设值注入:
    查看全部
    3 采集 收起 来源:Spring注入方式

    2015-03-31

  • 我来解释(逗逼)一下,赞同楼上说法,introduction译成“引入”较合理。 那个introduction的意思是: 有个类叫小明(biz),小明隔壁住着老王(FitImpl),老王实现了一个技能叫开豪车(Fit) 现在上帝声明了一个切面,这个切面给小明指定一个新的爹叫老王,于是小明每次叫爸爸的时候就能开豪车了~ 类匹配(小明):type-matching 接口(开豪车):implement-interface 接口的实现类(老王):default-impl 引入的作用:小明干自己的事的时候(叫爸爸)能莫名其妙地开上豪车而不用做多余的工作,这些工作由上帝(AOP)帮他完成,这叫“解耦”
    查看全部
    3 采集 收起 来源:Introductions应用

    2017-12-02

  • 什么是框架
    查看全部
    3 采集 收起 来源:Spring框架

    2018-03-22

  • IOC即DI,不必调用者自己去new被调用对象,而是通过spring IOC容器把配置好的bean对象注入,可以通过设置注入即setter方法和构造器注入。bean装载可以通过xml配置设定,也可以同过设定扫描路径,然后通过注解来让容器识别到要装载的bean。aop面向切面编程,切面与业务是垂直的,不同业务往往都要做一些公共的类似的额外操作,在业务之前做,或在业务之后做,或在业务出了异常时做,或者在业务前后都要做,甚至这些要做的额外操作要用到业务本身的输入参数和业务完成的输出结果。比如业务一般都得记录日志,比如涉及数据更新的业务完成后都得伴随数据库操作,账户各种操作前都要验证用户权限,这些业务伴随的操作往往大致相似,如果每个业务都要写这些操作,特别繁琐,把这些操作提出来就成了切面,与业务分离。xml 和API方式都可以实现aop配置,pointcut是业务,aspect是切面,它俩怎么交互执行,怎么传参和调用结果,都可以通过xml和API方式实现。另外还有配置代理这一块比较蒙逼。最牛逼的是,之前看得傻了眼那么繁琐和复杂的xml,api方式用简单直观的aspectj方式竟然能等效实现,用的纯Java标签,在xml 里设一下自动代理。不过仅仅@Aspect容器不识别,要加上@Component 才识别。
    查看全部
    3 采集 收起 来源:Advice扩展

    2017-09-19

  • 基于java的容器注解: 1.@Bean:初始化一个bean并注册到springIoc容器加以管理。 同xxx.xml配置文件中的<bean>,适用于成员方法上,结合@Configuration(类上)使用 2.@Bean注解初始化生成的bean,在不指定名称时,是该注解注解的成员方法的名字 eg: @Bean public A getA(){return new A();}//该bean在注册到SpringIoc容器里的名称是getA. 指定名称@Bean(name="xx")时,该bean在注册到SpringIoc容器里的名称是xx 3.@Bean(name="" initMethod="" destroyMethod=""),支持init和destroy,同xxx.xml配置文件效果相同。
    查看全部
  • 注解的定义及作用域 @Controller :注解控制器类(控制层 MVC) @Service :注解服务类(服务层) @Repository :注解 DAO 类(持久层) @Component :将普通的 bean 注解到 spring 容器中,相当于配置文件中的<bean id="xxx" class="xxx"></bean> 1)类的自动监测及 Bean 的注册 Spring 可以自动检测类并注册 Bean 到 Applicationcontext 中component-scan 扫描在base-package包内中带有@Component,@Service,@Controller等注解的bean,并注册到spring容器中。 @Component默认将类名首字母小写作为bean名 @Component("bean")自定义bean名为bean @Scope 表示bean的作用域 2)使用过滤器进行自定义扫描 默认情况下,类被自动发现并注册 bean 的条件:使用 @Component @Repository @Service @controller 注解或者使用 @Component 的自定义注解;可以通过过滤器修改默认注解的行为,还可以使用 use-default-filters = "false" 禁用自动发现与注册
    查看全部
  • spring的注入方式:设值注入,构造注入。设值注入配置:<bean id="injectionService"class="com.imoc.ioc.injectionService.InjectionServiceImpl"> <property name="injectionDAO" ref="injectionDAO"></bean> 构造注入: <bean id="injectionService"class="com.imoc.ioc.injectionService.InjectionServiceImpl"> <constructor-arg name="injectionDAO" ref="injectionDAO"></bean> Spring IOC是一种设计模式,使对象不用显示的创建依赖对象,而是将对象创建的过程交给Spring的IOC容器去管理,通过依赖注入的方式,来实现IOC; 依赖注入的方式有两种: 1、设值注入:即通过XML中配置bean的依赖类,通过层级property属性,来配置依赖关系,然后Spring通过setter方法,来实现依赖类的注入; 2、构造器注入:方法同设值注入,不过具体实现的方法是通过显示的创造一个构造方法,构造方法的参数名称要与XML中配置的name名称一致,XML配置的标签为constructor-arg
    查看全部
    3 采集 收起 来源:Spring注入方式

    2018-03-22

  • 我来解释(逗逼)一下,赞同楼上说法,introduction译成“引入”较合理。 那个introduction的意思是: 有个类叫小明(biz),小明隔壁住着老王(FitImpl),老王实现了一个技能叫开豪车(Fit) 现在上帝声明了一个切面,这个切面给小明指定一个新的爹叫老王,于是小明每次叫爸爸的时候就能开豪车了~ 类匹配(小明):type-matching 接口(开豪车):implement-interface 接口的实现类(老王):default-impl 引入的作用:小明干自己的事的时候(叫爸爸)能莫名其妙地开上豪车而不用做多余的工作,这些工作由上帝(AOP)帮他完成,这叫“解耦”
    查看全部
    3 采集 收起 来源:Introductions应用

    2017-07-20

  • 自动装配,简化 bean配置文件
    查看全部
  • 专题一 IOC 一、接口及面向接口编程 接口:只能有声明不能有实现,支持多重继承(在java8中接口可以拥有方法体) 抽象类:既可以有包含实现的声明也可以有不包含实现的声明 类:声明必须包含实现 面向接口编程:指提供一个接口与一个实现类,接口是提供给用户的,用户通过它来创建对象,实现类是用来实现这个对象的,而接口与实现类是通过一个implements关键字来连接 接口实现的变动不会影响其他各层的调用,对公共服务非常重要 二、什么是IOC 控制反转:控制权的转移,应用程序本身不负责依赖对象的创建与维护,而是由外部容器负责创建和维护。 依赖注入(DI):是一种实现方式,由IOC容器在运行期间,动态的将某种依赖关系注入到对象之中 目的:创建对象并且组装对象之间的关系 三、Spring的Bean配置 在IOC容器中将所有的控制对象称作bean,Spring对于bean的使用有两种方式:基于spring-ioc.xml的配置和注解。 注意xml中关于bean的配置程序段 <bean id="oneInterface(自定义)" class="配置的实现类"></bean> 使用示例: public void test(){ OneInterface interface=super.getBean("oneInterface");//获取bean,不需要new对象 interface.hello();//调用函数 } 四、Bean的初始化 五、Spring的常用注入方式
    查看全部
    3 采集 收起 来源:IOC及Bean容器

    2018-03-22

  • @·AOP基本概念及其特点 <1>什么是AOP<2>AOP基本概念<3>Spring的AOP 1)什么是AOP AOP:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。 2)对切面的理解 程序中的每一个模块或者说功能,任何一个模块中都要记录它的日志、事务、安全验证等等,给我们带来的工作量非常大。 当程序到达某种规模时,尤其是格式调整之类的,这种改动量是非常大的。如果通过切面方式,对开发人员是不可见的,默认地会对每一个子模块记录日志等这些工作。通过预编译或者动态代理的方式来执行这个功能, 对开发人员是透明,他不需要知道。 切面是和功能垂直的,也就是切面是横切与各个功能之上的 3)AOP实现方式 ①预编译-AspectJ ②运行期动态代理(JDK动态代理、CGLib动态代理)-SpringAOP、JbossAOP 4)AOP几个相关概念 ①切面---一个关注点的模块化,这个关注点可能会横切多个对象 ②连接点--程序执行过程中的某个特定的点 ③通知----在切面的某个特定的连接点上执行的动作 ④切入点--匹配连接点的断言,在AOP中通知和一个切入点表达式关联 ⑤引入----在不修改类代码的前提下,为类添加新的方法和属性 ⑥目标对象-被一个或者多个切面所通知的对象 ⑦AOP代理--AOP框架创建的对象,用来实现切面契约(包括通知方法执行等功能) ⑧织入---把切面连接到其他的应用程序类型或者对象上,并且创建一个被通知的对象,分为:编译时织入,执行时织入 Spring的AOP实现 纯java实现,无需特殊的编译过程·,不需要控制类加载器层次 目前只支持方法执行连接点(通知Spring Bean的方法执行) 不是为了提供最完整的AOP实现(尽管它非常强大);而是侧重于提供一种AOP实现和Spring IOC容器之间的整合,用于帮助解决企业应用中的常见问题 ·Spring AOP不会与AspectJ竞争,从而提供综合全面的AOP解决方案。 有接口和无接口的Spring AOP实现区别 Spring AOP默认使用标准的JAVASE动态代理作为AOP代理,使得任何接口(或者接口集)都可以被代理 Spring AOP中也可以使用CGLIB代理(如果一个业务对象并没有实现一个接口)
    查看全部
  • @Autowired注解 A、可以通过添加注解给需要该类型的数组的字段或者方法,以提供 ApplicationContext 中的所有特定类型的 Bean B、可以用于装配 key 为 string 的 map C、如果希望数组有序,可以让 Bean 实现 org.springframework.core.Ordered 接口或者使用 @Order 注解 可以使用@Autowaird注解那些众所周知的解析依赖性接口, 比如:BeanFactory,ApplicationContext,Environment,ReaourceLoader,ApplicationEventPublisher,and MessagSource 比如可以声明一个ApplicationContext的一个引用,并使用@Autowaird注解,就可以在当前类中得到IOC的上下文信息,并可以使用上下文信息
    查看全部
  • spring——bean的生命周期 生命周期:定义,初始化,使用,销毁 一.初始化: 方法1.实现org.springframework.beans.foctory.InitializingBean接口,覆盖afterPropertiesSet方法。系统会自动查找afterPropertiesSet方法,执行其中的初始化操作 方法2.配置init-method 例如设置bean中init-method="init"那么在初始化过程中就会调用相应class指定类的init()方法进行初始化工作 二 销毁(与初始化类似) 方法1.实现org.springframework.beans.foctory.DisposableBean接口,覆盖destory方法。 方法2.配置destory-method 三 配置全局初始化、销毁方法(属于默认配置,参考截图) 注意: 当三种方式同时使用时,全局(默认的)初始化销毁方法会被覆盖。 另外实现接口的初始化/销毁方式会先于配置文件中的初始化/销毁方式执行。 若仅有全局初始化即使没有以上三种初始化方法也是可以编译执行的,但是有另两种初始化销毁方法时,必须存在相应的方法,否者编译报错
    查看全部
  • Spring 中通知的类型: Around org.aopalliance.intercept.MethodInterceptor 栏截对目标对象方法的调用 Before org.springframework.aop.MethodBeforAdvice 在目标方法被调用之前调用 After org.springframework.aop.AfterReturningAdvice 当目标方法被调用之后调用 Thorws org.springframework.aop.ThrowsAdvice 当目标方法抛出异常时调用 程序正常执行顺序: 执行前 -环绕通知 Around 执行前 - 通知 Before POINT - 切入点 方法前执行 @Before POINT - 切入点 环绕方法前执行 @Around POINT - 切入点 方法后执行 @AfterReturning POINT - 切入点 环绕方法后执行 @Around 执行后 - 通知 After 执行后 - 环绕通知 Around 程序抛出异常执行顺序: 执行前 -环绕通知 Around 执行前 - 通知 Before POINT - 切入点 方法前执行 @Before POINT - 切入点 环绕方法前执行 @Around 切入点异常处理通知 @AfterThrowing 异常处理通知 Thorws
    查看全部
  • oC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection,依赖注入)来实现的。比如对象A需要操作数据库,以前我们总是要在A中自己编写代码来获得一个Connection对象,有了 spring我们就只需要告诉spring,A中需要一个Connection,至于这个Connection怎么构造,何时构造,A不需要知道。在系统运行时,spring会在适当的时候制造一个Connection,然后像打针一样,注射到A当中,这样就完成了对各个对象之间关系的控制。A需要依赖 Connection才能正常运行,而这个Connection是由spring注入到A中的,依赖注入的名字就这么来的。那么DI是如何实现的呢? Java 1.3之后一个重要特征是反射(reflection),它允许程序在运行的时候动态的生成对象、执行对象的方法、改变对象的属性,spring就是通过反射来实现注入的。关于反射的相关资料请查阅java doc。  理解了IoC和DI的概念后,一切都将变得简单明了,剩下的工作只是在spring的框架中堆积木而已。
    查看全部
    2 采集 收起 来源:IOC及Bean容器

    2015-01-04

举报

0/150
提交
取消
课程须知
Java的高级课程,适合对Java基础知识应用自如,并熟悉MVC架构的小伙伴们。如果想成为一名Java工程师,这门课程是一定要学哒。
老师告诉你能学到什么?
掌握依赖注入、IOC和AOP的概念,并能进行简单应用。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!