从零开始的spring 之 这叫搭环境?
来源:互联网 发布:浏览器无法登录淘宝 编辑:程序博客网 时间:2024/05/18 00:06
感觉spring 有必要重新学习一遍。这是个大坑。 介于我还是个经验尚浅的人,写博客是为了提高自己。
撒~始めましょうか。。。
环境:windows + tomcat8 + eclipsejavaee + maven + spring4.0.2
不用maven的话太费劲。
一 :引依赖。
<properties> <org.springframework.version>4.0.2.RELEASE</org.springframework.version> </properties><dependencies><span style="white-space:pre"></span><dependency><span style="white-space:pre"></span> <groupId>org.springframework</groupId><span style="white-space:pre"></span> <artifactId>spring-context</artifactId><span style="white-space:pre"></span> <version>${org.springframework.version}</version><span style="white-space:pre"></span> <scope>runtime</scope><span style="white-space:pre"></span></dependency><span style="white-space:pre"></span><dependency><span style="white-space:pre"></span><groupId>org.springframework</groupId><span style="white-space:pre"></span><artifactId>spring-core</artifactId><span style="white-space:pre"></span><version>${org.springframework.version}</version><span style="white-space:pre"></span></dependency><span style="white-space:pre"></span><dependency><span style="white-space:pre"></span><groupId>org.springframework</groupId><span style="white-space:pre"></span><artifactId>spring-beans</artifactId><span style="white-space:pre"></span><version>${org.springframework.version}</version><span style="white-space:pre"></span></dependency></dependencies>version引用properties。便于更换版本。 在properties中配置的标签 在其他地方可以使用$符号进行引用,一些通用配置都可以这么玩。。
好了 环境搭好了 开始测试吧
没错 直接开始测试,还没到web 所以不需要配置web.xml 原先一想到spring 就想到web.xml中配置listener 等等。。不需要!其实脱离web ,spring 照样干。
二 :写测试类。
package per.hps.test1;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration()public class SpringTest {}在没引spring-test和junit之前肯定没有几个注解嘛。美味可口的依赖在下面。
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework.version}</version> </dependency>(话说选java样式和xml样式一样嘛。。。)
关于pom文件的上面那个<scope> 我只知道和作用环境有关,比如上面那个jar好像只有在测试的时候才会加载。不管了,有空我会专门研究的。。
三:一种新的扫描方式 JavaConfig(对我来说是新的,因为我没用过,据说比xml要强大,我看书上外国人说的,可以条件化创建bean)
new 一个class 起名 SpringConfigDemo.java
@Configuration@ComponentScanpublic class SpringConfigDemo {}为了省空子我就不辅助import和package了。
第一个注解:表明该类是一个配置类 说明了该类应该包涵了project创建bean的一些细节。
第二个注解:表明spring将从该类所在的包极其包下进行扫描,就是在xml当中配置的那个注解扫描(以后会记下来的)。 一个道理。
这厢~ 还能指定某个包。则表示扫描该包极其子包下all。
为了一试 我们再new个class 在这个包下。
@Componentpublic class SpringTestBean {public void haha(){System.out.println("やめて!!");}}为了测试 写个方法 输出个语句(咳咳。意思不说了。)
注解@Component : 意思表示该类会被spring搜到。 并且 会为其创建bean 至于id 如果没有指定的话 默认就是类名小写首字母。
我已经迫不及待的想试一下啦。。回到测试类。
修改一下:
@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes = SpringConfigDemo.class)public class SpringTest {@Autowiredprivate SpringTestBean springTestBean;@Testpublic void test(){this.springTestBean.haha();}}
在第二个注解上指定配置类。这样spring就会去找那个配置类了。
然后那个配置类声明了需找所在包极其子包下的所有bean。 然后就找到了 加@Component的bean。 然后就把他加载近了spring的上下文中。
这边声明一个字段 springTestBean 还记得spring的默认id吗? 如果不额外指定的话必须一致。 然后再加一个@Autowired注解
关于注解 我会抽时间总结一篇的。
@Test注解 单元测试不多说
执行haha方法 测试成功。。
(由于太晚了,先到这,明天继续,明天会系统一些,今天只是小试牛刀。)
总结:
老是被固有思想所束缚。不懂得变通。万物回归本源都很简单,就看能不能看透了。原先一直以为spring脱离了xml就不能玩了。知道我学会了这个。
可能会觉得小儿科,但是对我来说还有有帮助的。。
- 从零开始的spring 之 这叫搭环境?
- 从零开始的spring之在spring 中加入 Quartz
- 从零开始的spring 之 优雅的装配一个bean。
- 从零开始搭建SpringMVC+Spring+Hibernate环境
- 从零开始的Spring Boot (一)
- 从零开始的spring 之 脱离web下的spring 上 (javaconfig装配bean)
- 95. Spring Boot之ActiveMQ的topic和queue【从零开始学Spring Boot】
- 从零开始之快速搭建Android开发环境
- 52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】(
- 52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】
- 52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】
- 从零开始学spring-boot(5)-集成单元测试环境
- 从零开始,配置环境以及第一个spring boot程序
- Android从零开始——之Android简介以及开发环境的搭建
- 从零开始学大数据-----Java基础篇之Java的环境搭建
- Hadoop 2.6 集群搭建从零开始之3 Hadoop的安装与配置(伪分布式环境)
- Hadoop 2.6 集群搭建从零开始之4 Hadoop的安装与配置(完全分布式环境)
- spring boot起步之Hello World【从零开始学Spring Boot】
- python练习册之8
- 第四周项目3(2)链表的链接
- R数据读入笔记
- 五子棋(人机)-极大极小值搜索算法
- Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包
- 从零开始的spring 之 这叫搭环境?
- php : json_decode json_encode两个方法
- C语言到嵌入式Linux开发项目指导
- win10下eclipse安装配置struts2
- 使用IntelliJ IDEA开发Spark1.0.0应用程序
- (复习)基础算法--搜索--深入训练(USACO-Feb08、WOW模拟赛Day2-T4、USACO-Dec13、CTSC-1999)
- 单例模式的几种写法(附介绍)
- gdb学习(一)[第二版]
- 能输入的select下拉框