为了账号安全,请及时绑定邮箱和手机立即绑定
  • 加载properties文件中的键值 在xml文件中配置使得可以识别注解Configuration 在Configuration中使用注解ImportResource("...") 引入一个xml文件,并对每一个对象使用@Value("${....}")引入对应properties文件中的键值 @Configuration @ImportResource("com/beanannotation/javabased/config.xml") public class StoreConfig { @Value("${url}") String url; @Value("${jdbc.username}") String username; @Value("${password}") String password; @Bean("myDirverManager") public MyDriverManager myDriverManager(){ return new MyDriverManager(url, username, password); } } 在ImprotResource文件中使用 <context:property-placeholder location="com/beanannotation/javabased/config.properties"></context:property-placeholder> 通过location引入对应的properties文件
    查看全部
  • 设值注入,是通过在xml文件里里调用setter方法来为成员变量赋值, 构造注入,是通过在xml文件里调用构造方法为成员变量赋值
    查看全部
    2 采集 收起 来源:Spring注入方式

    2017-09-23

  • IOC(控制反转): 控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护,DI(依赖注入)是其一种实现方式。 目的: 创建对象并且组装对象之间的关系
    查看全部
    2 采集 收起 来源:IOC及Bean容器

    2017-08-03

  • 你考上了重点大学,麻麻告诉你,你的亲爹其实是隔壁老王,老王有个孩子叫小明,现在要代替你的身份去上重点大学,你愉快地接受了。
    查看全部
    2 采集 收起 来源:Introductions应用

    2017-08-01

  • <!-- Introductions应用 --> <aop:declare-parents types-matching="com.imooc.aop.schema.advice.biz.*(+)" implement-interface="com.imooc.aop.schema.advice.Fit" default-impl="com.imooc.aop.schema.advice.FitImpl"/> <!-- types-matching:匹配的类型, implement-interface:使用的指定接口 ,default-impl:接口实现类 匹配到types-matching里的类AspectBiz之后为AspectBiz重新指定一个父类, 父类的接口implement-interface和父类的实现default-impl--> <!-- Introductions允许一个切面声明一个实现指定接口的通知对象,并且提供了一个接口实现类来代表这些对象 允许接口实现类FitImpl来代表被匹配到的bean对象AspectBiz类 由 <aop:aspect>中的<aop:declare-parents>元素声明该元素用于声明所匹配的类型拥有一个新的parent 匹配到的类AspectBiz拥有新的父类Fit,之后从IOC中获取到bean,才能强制转化为接口类型Fit,并调用接口的方法,输出的是接口实现类里的内容-->
    查看全部
    2 采集 收起 来源:Introductions应用

    2018-03-22

  • 按类型自动装配可能多个bean实例的情况,可以使用Spring的@Qualifier注解缩小范围(或指定唯一),也可以用于指定单独的构造器参数或方法参数 可用于注解集合类型变量 如果通过名字进行注解注入,主要使用的不是@Autowired(即使在技术上能够通过@Qualifier指定bean的名字),替代方式是使用JSR-250@Resource注解,他是通过其独特的名称来定义识别特定的目标(这是一个与所声明的类型是无关的匹配过程) 因语义差异,集合或Map类型的bean无法通过@Autowired来注入,因为没有类型匹配到这样的bean,为这些bean使用@Resource注解,通过唯一名称引用集合或Map的bean @Autowired适用于fields,constructors,multi-arguement methods这些允许在参数级别使用@Qualifier注解缩小范围的情况 @Resource适用于成员变量、只有一个参数的setter方法,所以在目标是构造器或一个多参数方法时,最好的方式时使用qualifiers
    查看全部
  • Bean的自动注入: spring的自动注入有set方法注入和构造器注入,都需要在ioc容器中显示的声明property或contructor. 不显示的声明,可以用bean的自动装配在beans中配置default-autowire="byName/byType/No/Constructor"等。使得bean的ioc容器显得更加简洁。有四种 NO byName:检查ioc容器中bean的id与属性名是否一致。ioc容器中不存在两个id相同的bean ,否则,容器启动时候就报异常提示不能存在两个相同的bean byType :检查ioc容器中bean的类型与属性类型是否一致,一致将与该属性自动装配;如果存在多个该类型的bean ,则抛出异常,并指出不能使用byType方式进行自动装配。如果没有找到匹配的bean,则什么事情都不发生。 Constructor:与byType方式类似,不同之处在于它应用于构造器参数。如果容器中没有找到与构造器参数类型一致的bean的类型,那么抛出异常
    查看全部
  • #spring——bean的配置及作用域# 1.bean的常用配置项:(理论上只有class是必须的) id:唯一标识 class:具体是哪一个类 scope:范围 constructor arguments:构造器的参数 properties:属性 Autowiring mode:自动装配模式 lazy-initialization mode:懒加载模式 initialization/destruction method:初始化/销毁的方法 2.bean的作用域 singletion 单例 bean容器只有唯一的对象(默认模式) prototype 每次请求会创建新的实例,destory方式不生效 request 对于request创建新的实例,只在当前request内有效 session 对于session创建新的实例,只在当前session内有效 global session 基于portlet(例如单点登录的范围)的web中有效,如果在web中同session
    查看全部
  • #spring——IOC及bean容器# 一 接口 接口:只能有声明不能有实现,支持多重继承(在java8中接口可以拥有方法体) 抽象类:即可以有包含实现的声明也可以有不包含实现的声明 类:声明必须包含实现 接口实现的变动不会影响其他各层的调用,对公共服务非常重要 二 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();//调用函数 }
    查看全部
    2 采集 收起 来源:IOC及Bean容器

    2018-03-22

  • AOP的主要作用是实现程序的统一管理
    查看全部
  • 1、初始化 (1)配置init-method <bean id ="" class ="" init-method=""> (2)实现org.springframework.beans.factory.InitializingBean接口,覆盖其中的afterPropertiesSet方法 2、销毁 (1)配置destory-method <bean id ="" class ="" destory-method=""> (2)实现DisposableBean接口中的destory()方法 3、配置全局初始化和销毁 <beans default-init-method=""> default-destroy-method="" 4、三种不同配置方式的优先级问题 (1)运行的优先顺序:接口>init (2) 局部配置 会覆盖 全局配置 (3)全局配置中的方法为可选项,若其他两种方法已有配置,可以没有全局方法.若没有其他两种方法,全局配置即使配置上了,类里没有相应方法也不会报错。
    查看全部
  • AOP的几个概念: 切面(Aspect):一个关注点的模块化,这个关注点可能会横切多个对象; 连接点(Joinpoint):程序执行过程中的某个特定的点 通知(Advice):在切面的某个特定的连接点上的执行的动作 切入点(Pointcut):匹配连接点的断言,在AOP中通知和一个切入点表达式关联 引入(Introduction):在不修改类代码的前提下,为类添加新的方法和属性 目标对象(Target Object):被一个或者多个切面所通知的对象 AOP代理(AOP Proxy):AOP框架创建的对象,用来实现切面契约 织入(Weaving):把切面连接到其它的应用程序类型或者对象上,并创建一个被通知的对象
    查看全部
  • Bean的自动装配(Autowiring) 1.No:不做任何操作 2.byname:根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配 3.byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配;如果存在多个该类型的bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么事都不发生 4.Constructor:与byType方式类似,不同之处在于它应用于构造器参数。如果容器中没有找到与构造器参数类型一致的bean,那么抛出异常 Bean的自动装配:在beans标签配置属性 default-autowire="no/byName/byType/constructor" 作用为:省去了在Spring的xml中配置property标签和constructor-arg标签,只需要配置bean标签即可 PS: byName和byType为设值注入,constructor为构造注入; byName要求bean标签的id属性需要和成员变量的名称一致, byType和constructor则跟id无关
    查看全部
  • Aware接口 作用:实现了Aware接口的bean在初始化后可以获取相应资源并进行相应的操作(对于操作的结果要慎重!) 举例: ApplicationContextAware:向实现了该接口的bean提供IOC容器的上下文信息(ApplicationContext),实现了该接口的bean必须配置到配置文件中并由spring的bean容器加载 BeanNameAware:向实现了该接口的bean提供关于beanName定义的相关内容 spring中的aware接口官方参考地址: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-factory-aware
    查看全部
  • Aware的方式是如果你的类中需要Spring框架本身的一些资源,这时你肯定不能够自己去初始化那些资源然后通过属性注入或者构造器注入的方式进行依赖注入,所以Spring提供了这种方式由Spring框架为你注入
    查看全部

举报

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

微信扫码,参与3人拼团

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

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