基于注解@Bean的配置使用方式
来源:互联网 发布:淘宝买家怎么修改评论 编辑:程序博客网 时间:2024/05/16 19:12
- Bean食用指南
- -1确认依赖
- - 2配置spring的XMl文件开启组件扫描
- - 3创建需要交付给Spring容器管理的Java类别
- - 4用Bean在采用了Configuration的类中愉快的使用注解声明Bean
- -5当然一个好的java程序肯定是少不了测试的所以我们需要一个测试来试验一下是否可以运行
- end
@Bean食用指南
@Bean功能提供了在Java类中声明Bean的方式,减少了xml文件的配置,可以极大的减少xml文件的臃肿程度.,为们得确认我们的开发环境,由于只是测试一下功能,所以需要的环境为Jdk1.8,Maven,Idea
为此 我们需要做的是
-1.确认依赖
spring-core spring-beans spring-context spring-context-support junit4
1)先去确认一下我们需要依赖的包的版本,在此,导入spring-4.8RELEASE
在项目的pom.xml中配置
<properties>
<spring.version>4.3.8.RELEASE</spring.version>
<junit.version>4.12</junit.version>
</properties>
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <!--为了更好的测试,当然需要加入测试支持--> <!--test start--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!--end start--> </dependencies> ```
- 2.配置spring的XMl文件,开启组件扫描
配置文件就起名为spring-config.xml
当然 配置文件就要放在resource中
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-2.0.xsd"> <!-- 自动扫描 --> <context:component-scan base-package="com.cn.nlg" /> <!-- 这个就是引入配置文件了,不过这里好像不需要用到,不过既然已经放入了util,就用一个作为示例了~ <util:properties id="jdbcConfiguration" location="classpath:jdbc.properties"/> --></beans>
- 3.创建需要交付给Spring容器管理的Java类,别
在创建COnfiguration之前,我们先得创建一些可以放入Configuration中的Model,我们就以Film为例
根据以上信息,建立起如下model
package com.cn.nlg.model;/** * Created by Administrator on 2017/6/8. */public interface Film { void paly();}
package com.cn.nlg.model.JP;/** * Created by Administrator on 2017/6/8. */public class Animal extends JPFilm { public void paly(){ System.out.println("this is Animal"); }}
package com.cn.nlg.model.JP;/** * Created by Administrator on 2017/6/8. */public class AVFilm extends JPFilm{ public void paly(){ System.out.println("this is AVFilm"); }}
package com.cn.nlg.model.JP;import com.cn.nlg.model.Film;/** * Created by Administrator on 2017/6/8. * */public class JPFilm implements Film{ public void paly(){ System.out.println("this is JPFilm"); }}
- 4.用@Bean在采用了@Configuration的类中愉快的使用注解声明Bean
package com.cn.nlg.BeanConfig;import com.cn.nlg.model.Film;import com.cn.nlg.model.JP.AVFilm;import com.cn.nlg.model.JP.Animal;import com.cn.nlg.model.JP.JPFilm;import com.cn.nlg.model.USA.USAFilm;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Lazy;/** * Created by Administrator on 2017/6/8. * */@Configurationpublic class FilmConfig { //这个默认是true哦 @Lazy(false) @Bean(name = "animal") public Film animal(){ return new Animal(); }; @Bean(name = "avfilm") public Film aVFilm(){ return new AVFilm(); }; @Bean(name ="jpfilm") public Film aPFilm(){ return new JPFilm(); }; @Bean(name="usafilm") public Film uSAFilm(){ return new USAFilm(); }; @Bean(name = "jpfilm") public Film jpFile(){ return new JPFilm(); };}
-5当然,一个好的java程序肯定是少不了测试的,所以我们需要一个测试来试验一下是否可以运行.
现在我们来用一下junit测试一下Bean容器是否单例,是否可以运行
首先,我们得建立一个测试类,不妨就叫做:
TestSpringBeans.java
package com.cn.nlg;import com.cn.nlg.model.Film;import org.junit.Assert;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import javax.annotation.Resource;/** * Created by Administrator on 2017/6/8. */@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = "classpath:spring-config.xml")public class TestSpringBeans { @Resource(name ="animal") Film film1; @Resource(name ="animal") Film film2; @Resource(name ="jpfilm") Film film3; @Resource(name ="avfilm") Film film4; @Resource(name ="usafilm") Film film5; @Test public void testSignle() { film1.paly(); film2.paly();; film3.paly(); film4.paly(); film5.paly(); Assert.assertTrue(film1==film2 && film2!=film3 &&film3!=film4 && film5!=film2); }}
由此测试类就完成了,点击运行,结果应该是成功的,
控制台应该会输出如下语句
this is Animal
this is Animal
this is JPFilm
this is AVFilm
this is USAFilm
end
当然,实际上spring是需要日志依赖的.
但是管这么多干嘛~
阅读全文
0 0
- 基于注解@Bean的配置使用方式
- Spring4----使用注解方式配置bean和bean的属性
- Spring基于注解的方式配置bean的实例
- spring(三)(基于注解的方式配置bean)
- Spring笔记2-基于注解的方式配置Bean
- Spring(二)基于注解的方式配置Bean
- Bean 基于注解的配置
- 基于注解的方式配置Bean和装配Bean的属性
- 基于注解的方式管理Bean
- [Spring]基于注解的形式配置Bean
- Spring使用注解的方式配置bean的属性-bean之间的引用关系
- Spring-基于注解的配置[01定义Bean+扫描Bean]
- Spring框架学习(10):基于注解的方式配置Bean
- Spring基于注解配置Bean
- spring 注解方式配置Bean
- spring 注解方式配置Bean
- 十一注解方式配置Bean
- spring中配置Bean的xml方式和注解方式
- JQuery图表插件Flot之属性方法
- 安卓开发之Kotlin
- Java并发之synchronized实现原理
- SS速度慢——最大的可能是被运营商QoS了
- AFNetWorking(3.0)源码分析(一)——基本框架
- 基于注解@Bean的配置使用方式
- 详解Java Project项目打包成jar,并生成exe文件
- querySelector和querySelectorAll区别
- [iOS 原生代码实现扫描二维码/条形码] AVCaptureDevice
- Centos安装图形界面
- Codeforces Round #418 (Div. 2) A+B+C!
- 移动端开发-JqueryMobile实战(一)
- 什么是Jupyter Notebook?
- Selenium基础教程----基于Java(二)