spring的Bean基于注解进行配置,再结合自动装配属性,也就DI,其实说白了就相当于初始化的时候给对象赋初值. 配置文件的过程有些麻烦,记录一下. 基于注解进行配置: 1.在applicationContext.xml中配置注解的支持, <context:annotation-config></context:annotation-config> <context:component-scan base-package="com.annotation1"…
本文是转载文章,感觉比较好,如有侵权,请联系本人,我将及时删除. 原文网址:< Spring 基于注解零配置开发 > 一:搜索Bean 再也不用在XML文件里写什么配置信息了. Spring提供以下四个Annotation来注册Spring Bean @Component:普通Spring Bean @Controller:控制器类 @Service:业务逻辑类 @Repository:数据访问类 暂时这四个注解功能是一样的,但还是要分别使用,不要统一使用@Component. 自动扫描指定包…
Spring为我们提供了几个注解来支持Spring Cache.其核心主要是@Cacheable和@CacheEvict.使用@Cacheable标记的方法在执行后Spring Cache将缓存其返回结果,而使用@CacheEvict标记的方法会在方法执行前或者执行后移除Spring Cache中的某些元素.下面我们将来详细介绍一下Spring基于注解对Cache的支持所提供的几个注解. @Cacheable.@CachePut.@CacheEvict 注释介绍 通过上面的例子,我们可以看到 s…
复制依赖和改jar包方式 src下的都复制过来. 复制到新项目里了 bean.xml里面复制上面一行代码到下面.把aop改成context. 配置spring容器创建时要扫描的包 Service的配置这里就可以删除了 配置注解 使用@Service注解 开始AOP配置 把通知类交给Spring来管理 在Logger上加注解.之类注意,@Service和@Repository都不合适.因为logger属于三层 所以这里用@Component这个注解来配置 写完上面的@Component的注解后.b…
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 注解: 说起注解,哇哦,每个人都或多或少的用到过 像什么@Overried,@Test,@Param等等之前就早已熟悉的注解,现在要用注解实现di的注入 注解的本质是什么?就是一个接口,他里面的参数是什么呢?就是这个接口里面的方法,so,我们怎么做? 案例如下: 基于注解的jar包就不用说了,按照之前的博客走下来的无需再添加新的jar包 还是俩个类,一个car,一个student,学生有一辆小汽车,基于注解…
对于DI使用注解,将不再需要在Spring配置文件中声明Bean实例.Spring中使用注解,需要在原有Spring运行环境基础上再做一些改变,完成以下三个步骤. (1)导入AOP的Jar包.因为注解的后台实现用到了AOP编程. (2)需要更换配置文件头,即添加相应的约束. (3)需要在Spring配置文件中配置组件扫描器,用于在指定的基本包中扫描注解. 1.定义Bean@Component 需要在类上使用注解@Component,该注解的value属性用于指定该bean的id值.举例:di01…
关于Spring的书籍都会花很大篇幅来讲解Spring如何注入各种bean的问题,非常令人头疼,自己在工作中还从来没有用到过. 所以就要跳过那些篇章,直接学习基于注解的组件扫描. 发现spring2是不支持组件自动扫描的,所以上一篇spring的代码要做改动 1重新从myeclipse导入spring3的library 2更改applicationContext.xml,支持spring3,且填入一句<context:component-scan base-package="org.exa…
在spring引入基于注解的事务(@Transactional)之前,我们一般都是如下这样进行拦截事务的配置: <!-- 拦截器方式配置事务 --> <tx:advice id="transactionAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="add*" propagation=&q…
基于XML的bean属性配置:bean的定义信息与bean的实现类是分离的. 基于注解的配置:bean的定义信息是通过在bean实现类上标注注解实现. 也就是说,加了注解,相当于在XML中配置了,一样一样的. 一.举个栗子: package com.mesopotamia.annotation; import org.springframework.stereotype.Component; @Component public class Car { private String name; p…
首先要明白,基于注解和XML两种方式的实现功能是一样的,只是两种不同的配置方式. 一.IoC配置 1.配置xml 在使用注解与xml结合的方式配置IoC之前,首先要引入context标签: xmlns:context="http://www.springframework.org/schema/context" http://www.springframework.org/schema/context http://www.springframework.org/schema/cont…
以下内容引用自http://wiki.jikexueyuan.com/project/spring/annotation-based-configuration.html: 从Spring 2.5开始就可以使用注解来配置依赖注入.而不是采用XML来描述一个bean的连线,你可以使用相关类,方法或字段声明的注解,将bean配置移动到组件类本身. 在XML注入之前进行注解注入,因此后者的配置将通过两种方式的属性连线被前者重写. Spring容器注解连线在默认情况下是不开启的.因此,在可以使用基于注解…
Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversion Of Control 简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象 DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可.   一.注解方式 修改applicationContext.xml,在前面加入: <context:annotation-config/>…
pom配置: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.…
基于注解的配置 从 Spring 2.5 开始就可以使用注解来配置依赖注入.而不是采用 XML 来描述一个 bean 连线,你可以使用相关类,方法或字段声明的注解,将 bean 配置移动到组件类本身. 在 XML 注入之前进行注解注入,因此后者的配置将通过两种方式的属性连线被前者重写. 注解连线在默认情况下在 Spring 容器中不打开.因此,在可以使用基于注解的连线之前,我们将需要在我们的 Spring 配置文件中启用它.所以如果你想在 Spring 应用程序中使用的任何注解,可以考虑到下面的…
基于注解的配置 从 Spring 2.5 开始就可以使用注解来配置依赖注入.而不是采用 XML 来描述一个 bean 连线,你可以使用相关类,方法或字段声明的注解,将 bean 配置移动到组件类本身. 在 XML 注入之前进行注解注入,因此后者的配置将通过两种方式的属性连线被前者重写. 注解连线在默认情况下在 Spring 容器中不打开.因此,在可以使用基于注解的连线之前,我们将需要在我们的 Spring 配置文件中启用它. 所以如果你想在 Spring 应用程序中使用的任何注解,可以考虑到下面…
前面我们介绍Spring IoC装载的时候,使用XML配置这种方法来装配Bean,这种方法可以很直观的看到每个Bean的依赖,但缺点也很明显:写起来非常繁琐,每增加一个组件,就必须把新的Bean配置到XML中. 有没有更简单的配置方式呢? 有,Spring为我们提供一种可以不依赖XML配置,自动扫描…
基于注解开发: 一开始:用的jar包: 百度查到: 导入aop包: 没用 有的说: Spring版本和jdk版本不匹配 于是我换成了4.0版本 导入的jar包: 还是报错. 解决办法:添加spring-aop-4.0.2.RELEASE.jar 终于问题解决.…
一.使用quartz 1.由于我的项目jar包使用的maven托管的,在pom文件中加入quartz的依赖就可以 2.配置quartz-context.xml,确保xml文件能被加载到 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org…
目前Spring+Netty的开发方式这么火热,想把Netty注册成Spring组件就一定得用多例的方式,我不由得想吐槽明明这么常见的需求网上相关博客都少的很,这里给出Spring使用注解注入多例的方式: 在需要多例调用的类上加@Scope("prototype") 在进行注入时,不能直接使用@Autowired,否则注入的还是单例,需要使用工厂,最简单的是用 @Autowired private ObjectFactory<T> objectFactory; 对象进行注入…
1.Spring中IoC的常用注解 1.1明确: (1)基于注解的配置和xml的配置要实现的功能都是一样的,都是要降低程序之间的耦合,只是配置的形式不一样 2.案例:使用xml方式和注解方式实现单表的crud操作 持久层技术选型:dbutils 3.改造基于注解的IoC案例,使用纯注解的方式实现 spring的一些新注解的使用 4.spring和Junit整合…
创建新项目 复制上一个pom.xml的内容.依赖和打包的方式 再复制src的代码过来 bean.xml.多导入context的声明 Service的实现类增加注解 dao的set方法删掉 通过Autowried注入dao dao注解 service改完了改dao.加上Repository 此时不能再继承JdbcDaoSupport.这里的继承删掉. 上面定义jdbcTemplate. 这样直接使用jdbcTemplate来操作 使用Autowired注入jdbcTemplate 删除原来的配置…
package com.hope.service.impl;import com.hope.dao.IAccountDao;import com.hope.domain.Account;import com.hope.service.IAccountService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import or…
spring的xml配置文件中某个<bean></bean>中的property的用法是什么样的? /spring-beans/src/test/java/org/springframework/beans/factory/xml/XmlBeanCollectionTests.java /spring-beans/src/test/resources/org/springframework/beans/factory/xml/collections.xml void org.spr…
1.@Autowried 1)默认基于类型查找容器的的Bean进行注入(注入的Bean的实现类是唯一的). 2)当实现类的Bean大于一个的时候,需结合@Qualifier,根据Bean的名称来指定需要注入的实例.或者使用@Primary注解标注具体的Bean来让Spring优先选择该Bean进行注入 3)@Autowried注解可以标注在构造方法.set方法(属性).字段 @Qualifier标注在方法参数.set方法.字段上.类型上 @Primary标注在类上以及方法上 2.@Resourc…
在spring2.5版本提供了注解的依赖注入功能,可以减少对xml配置. 主要使用的是 AnnotationConfigApplicationContext: 一个注解配置上下文 AutowiredAnnotationBeanPostProcessor: spring提供的用于这一目的的BeanPostProcessor实现,用来检查当前对象是否有@Autowired标注的依赖注入. 项目中除了使用@Autowired之外,还可以选择JSR250的一些注解例如@Resource大致和@Autow…
@Required注释 作用:用于属性的set方法,那么这个属性必须在xml文件的bean标签里面进行配置,否则就会抛出一个BeanInitializationException异常. 首先准备一个类: public class Person{ private int age; private String name; @Required public void setAge(int age) { this.age = age; } public Integer getAge() { retur…
1.使用注解 (1)组件扫描 指定一个包路径,Spring会自动扫描该包 及其子包所有组件类,当发现组件类定义前有 特定的注解标记时,就将该组件纳入到Spring 容器.等价于原有XML配置中的<bean>定义功能. 组件扫描可以替代大量XML配置的<bean>定义. (2)如何使用 step1,在配置文件当中,添加 <context:component-scan base-package=""/> 让容器扫描指定的包及其子包下面的类. step2,…
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/sch…
曾经的XML配置: <bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl" scope="" init-method="" destroy-method=""> <property name="" value="" | ref=""…
创建 spring 的 的 xml 配置 文件 <context:component-scan base-package="com.itheim"/> 指定创建容器时要扫描的包 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&qu…