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();
}
sping框架纯注解配置的更多相关文章
- Spring MVC4 纯注解配置教程
阅读本文需要又一定的sping基础,最起码要成功的运行过一个SpringMvc项目. 在传统的Spring项目中,我们要写一堆的XML文件.而这些XML文件格式要求又很严格,很不便于开发.而网上所谓的 ...
- 关于什么是SpringMVC,和SpringMVC基于xml配置、注解配置、纯注解配置
首先我们先要了解一下,什么是SpringMVC? SpringMVC是Spring框架内置的MVC的实现.SpringMVC就是一个Spring内置的MVC子框架,也就是说SpringMVC的相关包都 ...
- Spring纯注解配置
待改造的问题 我们发现,之所以我们现在离不开 xml 配置文件,是因为我们有一句很关键的配置: <!-- 告知spring框架在,读取配置文件,创建容器时,扫描注解,依据注解创建对象,并存入容器 ...
- SpringMVC整合mybatis基于纯注解配置
Mybatis整合Spring配置 第一部分:配置Spring框架 配置SpringMVC的步骤 配置流程图 导入包(哪些包,基本包5个,1日志依赖包,2webmvc支持包)SpringMVC配置 & ...
- spring框架 事务 注解配置方式
user=LF password=LF jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl driverClass=oracle.jdbc.driver.Ora ...
- 深入学习Spring框架(二)- 注解配置
1.为什么要学习Spring的注解配置? 基于注解配置的方式也已经逐渐代替xml.所以我们必须要掌握使用注解的方式配置Spring. 关于实际的开发中到底使用xml还是注解,每家公司有着不同的使用习惯 ...
- 10 Spring框架--基于注解和xml的配置的应用案例
1.项目结构 2.基于xml配置的项目 <1>账户的业务层接口及其实现类 IAccountService.java package lucky.service; import lucky. ...
- 注解配置spring
1.为什么使用注解配置Spring基于注解配置的方式也已经逐渐代替xml.这个是不可逆的潮流,所以我们必须要掌握使用注解的方式配置Spring 总结:(1)使用注解配置Spring,注解的作用就是用于 ...
- maven 纯注解一步一步搭建Spring Mvc项目(入门)
初次接触spring MVC项目,通过一段时间的学习,本文介绍一种以纯注解的方法去配置spring MVC环境,让那些配置的.xml文件统统见鬼吧. 什么是Spring MVC Spring MVC属 ...
随机推荐
- Hibernate知识总结(一)
一.ORM ORM的全称是Object/Relation Mapping,即对象/关系映射,可以将其理解成一种规范,它概述了这类框架的基本特征:完成面向对象的编程语言到关系数据库的映射.可以把ORM看 ...
- day20_雷神_django第三天
django第三天 动态路由,实现统一删除功能 urls url(r'^host_del/(host|user|group)/(\d+)$',views.host_del,name='del'), t ...
- 【java源码】解读HashTable类背后的实现细节
HashTable这个类实现了哈希表从key映射到value的数据结构形式.任何非null的对象都可以作为key或者value. 要在hashtable中存储和检索对象,作为key的对象必须实现has ...
- 【webpack】流行的前端模块化工具webpack初探
从开发文件到生产文件 有一天我突然意识到一个问题,在使用react框架搭建应用时,我使用到了sass/less,JSX模版以及ES6的语法在编辑器下进行开发,使用这些写法是可以提高开发的效率.可是 ...
- 快速找出网站中可能存在的XSS漏洞实践(一)
一.背景 笔者最近在慕课录制了一套XSS跨站漏洞 加强Web安全视频教程,课程当中有讲到XSS的挖掘方式,所以在录制课程之前需要做大量实践案例,最近视频已经录制完成,准备将这些XSS漏洞的挖掘过程记录 ...
- Javascript高级编程学习笔记(15)—— 引用类型(4)RegExp类型
JS中处理字符串最常用的应该就是正则了 同样正则(RegExp)类型也是JS中引用类型的一种 ECMAScript通过 RegExp类型 来支持正则表达式 创建正则 var expression = ...
- 某神秘公司 RESTful、共用接口、前后端分离、接口约定的实践
阅读本文大概需要 4.6 分钟. 本文来自 https://juejin.im/post/59eafab36fb9a045076eccc3 前言 随着互联网高速发展,公司对项目开发周期不断缩短,我们面 ...
- Linux 总是提示You have new mail in /var/spool/mail/root
解决办法: echo “unset MAILCHECK” >> /etc/profile source /etc/profile 这样就可以了!!!!!!!!!!
- 第八篇: 服务链路追踪(Spring Cloud Sleuth)
一.简介 一个分布式系统由若干分布式服务构成,每一个请求会经过多个业务系统并留下足迹,但是这些分散的数据对于问题排查,或是流程优化都很有限. 要能做到追踪每个请求的完整链路调用,收集链路调用上每个 ...
- 卷积神经网络CNN的原理(一)---基本概念
什么是卷积神经网络呢?这个的确是比较难搞懂的概念,特别是一听到神经网络,大家脑海中第一个就会想到复杂的生物学,让人不寒而栗,那么复杂啊.卷积神经网络是做什么用的呢?它到底是一个什么东东呢? 卷积神经网 ...