就这样,春天来了吗?,就这样“鸟语花香”了吗?Spring 真的来啦,那winter还会远吗?
答案是:说是迟那是快。你还在踌躇吗,那就让我们赶紧开始我们的spring 之旅吧!
Spring 初体验
首先介绍一下究竟什么是spring 其意"春天" Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。
环境搭建
那我们如何搭建spring开发环境呢 由于我只做Ioc操作,所以我们只需引入spring.jar和日志文件。在引入jar包之后我们就来创建一个xml文件一般情况下我们命名为applicationContext.xml 路径存放src下
实现控制反转代码:
Xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans
<!--默认命名空间-->
xmlns="http://www.springframework.org/schema/beans"
<!--w3c标准 XMLSchema-instance-->
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<!--schema约束对应地址-->
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!--id为利用反射机制创建的对象名称一般清空为了便于记忆写成对应的class里的类名-->
<bean id="greetingDaoImpl" class="cn.csdn.dao.GreetingDaoImpl">
<!--name对应bean里对应的属性value为属性值-->
<property name="say" value="你好"></property>
</bean>
<bean id="greetingServiceImpl"
class="cn.csdn.service.GreetingServiceImpl">
<!--ref应用一个bean实体对象-->
<property name="gdi" ref="greetingDaoImpl"></property>
</bean>
</beans>
Dao的实现层
//接口
public interface GreetingDao {
void say();
}
//实现接口
public class GreetingDaoImpl implements GreetingDao {
private String say;
public void say() {
System.out.println("我打了这个招呼"+say);
}
public void setSay(String say) {
this.say = say;
}
}
Service 实现层
//继承dao的实现层
public interface GreetingService extends GreetingDao {
}
//service实现
public class GreetingServiceImpl implements GreetingService{
private GreetingDaoImpl gdi;
public void say() {
gdi.say();
}
public void setGdi(GreetingDaoImpl gdi) {
this.gdi = gdi;
}
}
Junit测试
public class GreetingTest {
@Test
public void test(){
ApplicationContext
ac=new ClassPathXmlApplicationContext("Longmanfei.xml");
//控制反转成对象,并且在此时调用相应的set方法进行say的赋值
GreetingServiceImpl
gsi=(GreetingServiceImpl) ac.getBean("greetingServiceImpl");
gsi.say();
}
@Test
public void test1(){
/*加载spring容器可以解析多个配置文件采用数组方式传递*/
ApplicationContext ac=new ClassPathXmlApplicationContext(new String[]{"Longmanfei.xml"});
//直接转换成接口便于日后修改数据/*Ioc控制反转体现*/
GreetingService
gs=(GreetingService) ac.getBean("greetingServiceImpl");
gs.say();
}
@Test
public void test2(){
/*加载spring容器可以解析多个配置文件采用数组方式传递*/
ApplicationContext ac=new FileSystemXmlApplicationContext(new String[]{"src/Longmanfei.xml"});
//直接转换成接口便于日后修改数据/*Ioc控制反转体现*/
GreetingService
gs=(GreetingService) ac.getBean("greetingServiceImpl");
gs.say();
}
}
分享到:
相关推荐
eSir openwrt 高大全 2022 spring legacy 固件版本
还随机显示所有自然春天 - 夏季 - 秋季秋季 - 冬季壁纸与“洗牌所有图片”选项,或显示您最喜欢的自然Spring - 夏季 - 秋季秋季 - 冬季图片只有“加倍喜爱的图片”选项。:check_mark:随机显示所有已安装的Freeaddon...
您还可以选择幻灯片选项,并享受带有Spring,夏季,秋季和冬季壁纸的炫酷屏保。 并且,您可以将其他免费的插件主题与此新的自然标签一起使用。 其次,自然扩展程序可快速导航到您访问量最大的网站,Gmail之类的...
Spring所需jar包
spring-framework-reference
J2EE-jsf1.2-Spring-Hibernate整合基本资源包,我是用了很长的时间整合成功并在实际中使用,相当完美.用eclipse-jee-europa-3.3.2-winter-en-win32构建成功.
J2EE-Struts2-Spring-Hibernate整合基本资源包,我是用了很长的时间整合成功并在实际中使用,相当完美.用eclipse-jee-europa-3.3.2-winter-en-win32构建成功.
SPRING, SUMMER, AUTUMN, WINTER } 定义了一个季节枚举类型。 在本例中,对于Season.SPRING这个对象,Season.SPRING.name()能够得到该对象的字符串,即“SPRING”;反之,由Season.valueOf(“SPRING...
受Spring Boot的启发,因此,您可以以这种样式构建PHP应用程序。 应用程序启动: #[WinterBootApplication] class MyApplication { public static function main () { ( new WinterWebApplication ())-> run ( ...
java加密运行支持【spring+struts+mybatis+hibernate+mysql+oracle+sqlserver+postgresql+springMVC+springboot】 支持的项目:JavaWeb项目、Tomcat项目、SpringBoot项目、单独的Jar包项目、几乎所有的Java项目都...
柳枝is是一种重要的生物能源作物。 像大多数常年温暖的季节物种一样,柳枝in在冬季处于生长暂停状态,这是在温带... 在冬季温和的南部地区,有可能通过大量选择来发展休眠度大大降低甚至什至是非休眠柳枝switch种质的
enumerateseasons = ['Spring', 'Summer', 'Fall', 'Winter']print(enumerate(seasons))<enumerate object at 0x00000000027199C0> 实例:enumerate()返回的是一个enumerate对象enumerateseasons = ['Spring', '...
NLP NLPNLPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
4:能进行色图的选择(Spring Summer Autumn winter liner)等5种色图的选择 5:两个窗口,根据鼠标的选择进行左右两个窗口的函数实现(可以进行对比看变换效果) 6:对于不需要的控件如CMYKRGB,可通过guide打开...
如“春暖花开”(Blooming flowers in spring)、“夏日热浪”(Summer heat wave)、“秋风送爽”(Cool autumn breeze)和“冬日暖阳”(Warm sun in winter)、“热带风暴”(Tropical storm)、“沙尘暴来袭”(Sandstorm ...
3、支持Spring动态注入,可以把自定义的Action 交给Spring去进行管理 4、自定义的tab标签库 5、支持伪静态功能 伪静态实现,可以用正则表达式!~ 这个框架,差不多就是一个SSH最精简的实现。 配置非常灵活简单...
更快的枚举 这个包包含两个更快的 Python 3.4 Enum... SPRING = 1 SUMMER = 2 AUTUMN = 3 WINTER = 4 class Season2 ( fastenum . Enum ): SPRING = 1 SUMMER = 2 AUTUMN = 3 WINTER = 4 assert Season1 . SPRIN
包含6个html页面以及css样式和js文件 其中html页面如下 主页 index.html 春夏秋冬 spring.html ,autumn.html ,summer.html winter.html 表单页面 member.html
print ( tabular ([ [ 'Winter' , 'Spring' , 'Summer' , 'Autumn' ], [ 'December' , 'March' , 'June' , 'September' ], [ 'January' , 'April' , 'July' , 'October' ], [ 'February' , 'May' , 'August' , '...
这些是我对课程作业的解决方案的存储库 免责声明 ... 此处发布的解决方案并不意味着以任何方式...- DelftX / Winter 2014 - HarvardX / 2014 - MITx / 2014 年Spring - MITx / 2013 年秋季 -斯坦福大学 / 2014 年冬季