java oa系统 springmvc_JAVA_OA管理系统(二):SpringMVC笔记基础篇01注入方法

配置

将spring的applicationContext.xml导入src根目录(建包导入也可以,建包的标准com.Throne.Font.until),

导入jar包,将文件复制粘贴进入\WebRoot\WEB-INF\lib下.

实例化时:

实例化方法如下:

String conf = "applicationContext.xml";

ApplicationContext ac = new ClassPathXmlApplicationContext(conf);

实例化时,类型强转-Student s=ac.getBean("student",Student.class);(建议的标准)

xml配置JavaBean:

scope属性

Spring也可以管理Java中的类,比如:

XML文件中:

JAVA文件中:

Calendar C = ac.getBean("c",Calendar.class);

静态工厂模式写出的 C ,默认也是单例的,地址相同.

Student s=ac.getBean("student",Student.class);

Student s1=ac.getBean("student",Student.class);

System.out.println(s==s1);

结果:

True

可以通过修改bean的作用域,来改变创建模式

修改scope属性,用来指明bean的作用域

此时每次创建方式为实例工厂,每次创建都会new新的对象

implements Serializable

进行序列化。

Bean的生命周期:

//init-method:创建时实例化

//Destroy-method:销毁方法

//Lazy-init:实例化延迟

//销毁在容器停止时执行,Close:调用容器的 close方法

//用ApplicationContext的父接口AbstractApplicationContext;

//比如:

AbstractApplicationContext ac=new ClassPathXmlApplicationContext(str);

ac.close;

spring的注入方式

基本步骤(该部分为引用)

Spring注入的基本步骤如下:

将所有的类在spring-conf.xml中创建bean

语法如下:

对所有依赖的类进行注入

如果是属性注入,需要为每一个依赖类创建相应的getter和setter方法

如果是构造方法注入,需要为依赖类创建相应的构造方法

在测试方法中测试是否正确注入

Spring的配置注入(setter)

通过调用无参构造器或者无参static工厂方法实例化bean之后,调用该bean的

setter方法,即使set注入

Java:

public class Book implements Serializable{

private int id;

private String name;

public Book() {

}

public Book(int id, String name) {

this.id = id;

this.name = name;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

配置:

调用:

Book b=ac.getBean("book",Book.class);

System.out.println(b.getId());

System.out.println(b.getName());

构造器注入:

JAVA:

private int id;

private String name;

public Book1(int id, String name) {

super();

this.id = id;

this.name = name;

}

public String toString() {

return "Book1 [id=" + id + ", name=" + name + "]";

}

XML配置:

调用:

Book1 b1=ac.getBean("book1",Book1.class);

System.out.println(b1.toString());

结果:

[id=121,name=平凡的世界]

自动装配:

略微了解即可,在自动装配太多时,容易造成混乱.故不常用.

XML文件:

autowire="byType">

autowire的参数值可选有:“default”、“byName”、“byType”、“constructor”、“no”。

default:根据bean的自省机制决定采用byType还是constructor进行自动装配,如果Bean提供了默认的构造函数,则采用byType,否则采用constructor。

byName:通过属性名自动注入。

byType:通过属性类型自动注入。

constructor:与byType相同,但作用于构造器。

no:不自动注入。

JAVA文件:

public class Teacher implements Serializable{

private int id;

private Book1 book;

public Teacher() {

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public Book getBook() {

return book;

}

public void setBook(Book book) {

this.book = book;

}

}

执行:

Teacher t=ac.getBean("teacher",Teacher.class);

System.out.println(t.getBook().getName());

结果:

平凡的世界

除此之外:

也可以进行Annotation方式(其不太常用,多用于一些小项目)

参考文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
**smart-web2** 是一套相对简单的OA系统;包含了流程设计器,表单设计器,权限管理,简单报表管理等功能; 系统后端基于SpringMVC+Spring+Hibernate框架,前端页面采用JQuery+Bootstrap等主流技术; 流程引擎基于Snaker工作流;表单设计器基于雷劈网WEB表单设计器。 系统主要功能有: >1.系统管理 >>系统管理包含有:基础信息管理、系统权限管理、版本管理、子系统管理。 > >2.流程管理 >>流程管理包含有:流程设计器、流程实例管理、流程页面模版管理等功能。 > >3.表单管理 >>表单管理包含有:表单设计器、表管理、表单帮助信息管理等。 > >4.我的办公 >>我的待办、我的已办; > >5.简单报表管理 >>简单报表管理包含:简单报表的设计、报表管理等。 使用说明 ======= ------- ---数据库MySQL5.6以上 ---下载后把data目录下的smart-web2.zip解压;然后解压出来的脚本文件(“smart-web2.sql”)导入到mysql数据库中;注:建库时,字符集编码为:utf8(utf8_general_ci) ---修改配置文件“jdbc.properties”,改成对应数据库的用户名和密码 ---“sysconfig.properties”系统配置文件;需要修改“root.dir”属性,设置为系统上传文件时用来存放的根目录 ----系统管理员用户名为:admin;密码为:123456 ----linux类系统需要修改mysql的配置文件,改为数据库表名不区分大小写(lower_case_table_names=1) 环境要求 ------------ 1.jdk要求1.7及以上; 2.tomcat6或tomcat7; 3.eclipse版本4.4以上; 4.浏览器要求:IE8及以上(最理想的是IE10及以上),火狐,chrome等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值