sping框架纯注解配置

1.相关注解
①@Configuration注解-->添加了该注解在类上,就表明该类是spring的配置类。该类的作用是用来替代原来的XML配置文件的。
通过配置类创建容器时,需要使用AnnotationConfigApplicationCpntext(有@Configuration注解的类.class)来获取对象。
②ComponentScan注解-->注解扫描,用于扫描spring组件类的路径,等同于原来配置文件的<context:component-scan base-package="com.boya"/>
属性:basePackage:用于指定需要扫描的包,和该注解的value属性作用一样。
③@propertySource注解-->用于加载.properties文件中的配置。相当于<context:property-placeholder file-encoding="UTF-8" location="classpath:CustomerContent"/>
属性:value:用于指定properties文件的位置,如果是在类路径下,需要写上classpath:
④@Bean注解--> 这个注解只能放在方法上,使用此方法创建一个对象放入spring容器中,相当于XML配置中的<bean>标签,对于一些没有办法加上组件注解的类,我们可以通过@Bean注解将他加入到容器里面
属性:name:给当前@Bean注解方法创建的对象指定一个名称(即bean的id)。
⑤@import注解-->作用:用于导入其他配置类,在引入其他配置类时,可以不用再写@Configuration注解。当然,写上也没问题。
属性:value:用于指定其它配置类的字节码,即:配置类.class

2.实现纯注解配置
1.创建一个需配置的类
@Component
public class Customer {

@Value("${customer.name}")
private String name;

@Value("${customer.age}")
private int age;

@Autowired
private Date creatDate;

public void setName(String name) {
this.name = name;
}

public void setAge(int age) {
this.age = age;
}

public void setCreatDate(Date creatDate) {
this.creatDate = creatDate;
}

public void show() {
System.out.println("名字:"+name+"年龄:"+age+"日期:"+creatDate);
}
}

2.config配置类
@Configuration
public class Config {

@Scope(value="prototype")
@Bean(name="date")
public Date getDate() {
return new Date();
}
}

3.主配置类
//申明该类是一个配置类
@Configuration
//扫描注解,相当于配置文件<context:component-scan base-package="cn.boya"></context:component-scan>
@ComponentScan(value="cn.boya")
//添加文件,相当于配置文件<context:property-placeholder file-encoding="UTF-8" location="classpath:CustomerContent"/>
@PropertySource(encoding="UTF-8",value="classpath:CustomerContent")
//导入其它配置一起
@Import(value=Config.class)
public class ApplicationContextConfig {

}

4.测试类
@Test
public void show(){
//ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring.xml");
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ApplicationContextConfig.class);
Customer customer = context.getBean("customer", Customer.class);
customer.show();
context.close();
}

原文地址:https://www.cnblogs.com/cn-boya/p/10746435.html

时间: 2024-08-01 04:21:54

sping框架纯注解配置的相关文章

Spring MVC4 纯注解配置教程

阅读本文需要又一定的sping基础,最起码要成功的运行过一个SpringMvc项目. 在传统的Spring项目中,我们要写一堆的XML文件.而这些XML文件格式要求又很严格,很不便于开发.而网上所谓的0配置,并不是纯粹的0配置,还是要写一些xml配置,只是用了几个@Service,@Controller注解而已. 在这里,我讲介绍一种新的配置方式,一行XML代码都不需要,什么web.xml,Application-context.xml,Beans.xml,统统去死吧! 首先建立一个Maven项

spring学习3:spring ioc的纯注解配置

spring ioc的纯注解配置 一.分析 在上一篇博客中实现了xml+注解的ioc使用,我们发现,之所以离不开xml配置文件的原因是在该文件中有一句很关键的话,告知spring在创建容器时要扫描的包,依据扫描到的注解创建对象并放入容器中. <!-- 开启注解扫描,告知spring在创建容器时要扫描的包 --> <context:component-scan base-package="com.lyy.service"> </context:compone

spring 的纯注解配置

不写 bean.xml 文件,所有配置都用注解来实现 基于注解的 IoC 配置已经完成,但还是离不开 xml 配置文件,是因为有一句很关键的配置: <!-- 告知spring框架在,读取配置文件,创建容器时,扫描注解,依据注解创建对象,并存入容器中 --> <context:component-scan base-package="com.fgy"></context:component-scan> 另外,数据源和 QueryRunner(JdbcT

Sping框架-使用注解实现自动装配

通过上面的学习,现在我们进入实战演练,上代码 1 package dao.impl; 2 3 import org.springframework.stereotype.Repository; 4 5 import dao.UserDao; 6 import entity.User; 7 8 /** 9 * 用户DAO类,实现UserDao接口,负责User类的持久化操作 10 */ 11 //给数据访问层加上注解,名字随便起 12 @Repository("userDao") 13

spring框架 事务 注解配置方式

user=LF password=LF jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl driverClass=oracle.jdbc.driver.OracleDriver initialPoolSize=15 maxPoolSize=30 minPoolSize=5 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www

spring注解配置启动过程

最近看起spring源码,突然想知道没有web.xml的配置,spring是怎么通过一个继承于AbstractAnnotationConfigDispatcherServletInitializer的类来启动自己的.鉴于能力有限以及第一次看源码和发博客,不到之处请望谅~ 我用的IDE是IntelliJ IDEA,这个比myEclipse看源码方便一点,而且黑色背景挺喜欢.然后项目是在maven下的tomcat7插件运行.spring版本是4.3.2.RELEASE. 如果写过纯注解配置的spri

Spring文档苦读【6】【纯注解方式配置MVC】

前言 Spring官方文档提供纯注解方式进行配置,无需XML,只需要相关的JAVA类即可实现项目的注册以及容器的管理. 注解XML <web-app> <!-- Configure ContextLoaderListener to use AnnotationConfigWebApplicationContext instead of the default XmlWebApplicationContext --> <context-param> <param-n

跟着刚哥学习Spring框架--通过注解方式配置Bean(四)

组件扫描:Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 特定组件包括: 1.@Component:基本注解,识别一个受Spring管理的组件 2.@Respository:标识持久层组件 3.@Service:标识业务层组件 4.@Controller:标识表现层组件 Spring 有默认的命名策略: 使用非限定类名, 第一个字母小写. 也可以在注解中通过 value 属性值标识组件的名称 当在组件类上使用了特定的注解之后, 还需要在 Spring 的配置文件

使用纯Java配置SSM框架实现基本的增删改查(不使用spring XML)

前言 本文不使用spring XML,而是采用Java配置SSM框架的形式实现了基本的增删改查. 本文中的源码继承自https://www.cnblogs.com/hanzx/p/10016468.html中的程序,删除掉了webapp文件夹,里面的模板全部转移到resources下,其余文件均已删除. 核心框架已升级.spring系列已升级使用5.0.1,mybatis使用3.4.5,mybatis-spring使用1.3.1. 名词解释 SSM框架:springMVC.spring.myba