spring配置(非web程序)
来源:互联网 发布:oracle数据字典怎么用 编辑:程序博客网 时间:2024/05/29 04:48
spring配置:
一、非web程序(2.5.6)
1、引入jar包:spring.jar ; commons-logging-1.1.1.jar
2、配置文件:
beans.xml(src下)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="u" class="com.bjsxt.dao.imp.UserDAOImpl" />
<bean id="userService" class="com.bjsxt.service.UserService">
<property name="userDAO" ref="u"/> <!-- setUserDAO 注入 -->
<!--
<property name="userDAO">
<ref bean="u"/>
</property>
-->
</bean>
</beans>
3、UserService.java类:包含userDAO类,并且提供set方法
package com.bjsxt.service;
import com.bjsxt.dao.UserDAO;
import com.bjsxt.model.User;
public class UserService {
private UserDAO userDAO;
public UserDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
public void add(User u){
this.userDAO.save(u);
}
}
4、spring配置很丰富:
A、
beans.xml配置如下:构造方法进行初始化
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="u" class="com.bjsxt.dao.imp.UserDAOImpl" />
<bean id="userService" class="com.bjsxt.service.UserService">
<constructor-arg>
<ref bean="u"/>
</constructor-arg> <!-- 构造方法注入 -->
</bean>
</beans>
那么userService.java写法如下: 提供构造方法
package com.bjsxt.service;
import com.bjsxt.dao.UserDAO;
import com.bjsxt.model.User;
public class UserService {
private UserDAO userDAO;
public void add(User u){
this.userDAO.save(u);
}
/**
* @param userDAO
*/
public UserService(UserDAO userDAO){
this.userDAO = userDAO;
}
}
B、beans.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean name="userDAO" class="com.bjsxt.dao.imp.UserDAOImpl">
<property name="daoId" value = "1"/>
</bean>
<bean id="userService" class="com.bjsxt.service.UserService" autowire="byType"/>
</beans>
那么UserService.java的写法:UserService会根据参数类型自动装配
package com.bjsxt.service;
import com.bjsxt.dao.UserDAO;
import com.bjsxt.model.User;
public class UserService {
private UserDAO userDAO;
public UserDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
public void add(User u){
this.userDAO.save(u);
}
}
C、作用范围:bean中定义scope属性,属性值为singleton等
D、初始化集合:
UserDAOImpl.java写法为:
package com.bjsxt.dao.imp;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.bjsxt.dao.UserDAO;
import com.bjsxt.model.User;
public class UserDAOImpl implements UserDAO {
private Set<String> sets;
private List<String> lists;
private Map<String, String> maps;
public Set<String> getSets() {
return sets;
}
public void setSets(Set<String> sets) {
this.sets = sets;
}
public List<String> getLists() {
return lists;
}
public void setLists(List<String> lists) {
this.lists = lists;
}
public Map<String, String> getMaps() {
return maps;
}
public void setMaps(Map<String, String> maps) {
this.maps = maps;
}
@Override
public void save(User u) {
System.out.println("User save.");
}
}
那么beans.xml配置文件初始化为:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean name="u" class="com.bjsxt.dao.imp.UserDAOImpl">
<property name="sets">
<set>
<value>1</value>
<value>2</value>
</set>
</property>
<property name="lists">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</property>
<property name="maps">
<map>
<entry key="1" value="1"></entry>
<entry key="2" value="2"></entry>
<entry key="3" value="3"></entry>
</map>
</property>
</bean>
<bean id="userService" class="com.bjsxt.service.UserService" scope="singleton">
<!-- scope singleton、prototype、request、session -->
<!-- <property name="userDAO" ref="u"/> 相当于setUserDAO-->
<constructor-arg>
<ref bean="u"/>
</constructor-arg>
</bean>
</beans>
E、注解@Autowired、@Qualifier使用:
beans.xml写法为:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config/>
<bean name="u" class="com.bjsxt.dao.imp.UserDAOImpl">
<qualifier></qualifier>
</bean>
<bean id="userService" class="com.bjsxt.service.UserService">
</bean>
</beans>
那么userService中写法为:(自动装配u对象)
package com.bjsxt.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import com.bjsxt.dao.UserDAO;
import com.bjsxt.model.User;
public class UserService {
private UserDAO userDAO;
public UserDAO getUserDAO() {
return userDAO;
}
@Autowired
public void setUserDAO(@Qualifier("u") UserDAO userDAO) {
this.userDAO = userDAO;
}
public void add(User u){
this.userDAO.save(u);
}
}
F、Component使用:
beans.xml定义为:(com.bjsxt下面的类会被初始化,不用手动写这些类)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config/>
<context:component-scan base-package="com.bjsxt"></context:component-scan>
<bean id="userService" class="com.bjsxt.service.UserService">
</bean>
</beans>
那么UserService可以写成:
package com.bjsxt.service;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import com.bjsxt.dao.UserDAO;
import com.bjsxt.model.User;
public class UserService {
private UserDAO userDAO;
public UserDAO getUserDAO() {
return userDAO;
}
@Resource(name="userDAOImpl")
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
public void add(User u){
this.userDAO.save(u);
}
}
UserDAOImpl需要写入@Component注解
package com.bjsxt.dao.imp;
import org.springframework.stereotype.Component;
import com.bjsxt.dao.UserDAO;
import com.bjsxt.model.User;
@Component //userDAOImpl ; @Component("u") @Component(value="u") u
public class UserDAOImpl implements UserDAO {
@Override
public void save(User u) {
System.out.println("User save.");
}
}
G、Resource用法:
beans.xml定义为:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config/>
<bean name="u" class="com.bjsxt.dao.imp.UserDAOImpl"></bean>
<bean id="userService" class="com.bjsxt.service.UserService">
</bean>
</beans>
那么UserService.java可以写成:(Resource标签可以使用beans中定义的u对象来初始化UserService,使得UserService在beans中定义时不用写需要的参数。)
package com.bjsxt.service;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import com.bjsxt.dao.UserDAO;
import com.bjsxt.model.User;
public class UserService {
private UserDAO userDAO;
public UserDAO getUserDAO() {
return userDAO;
}
@Resource(name="u")
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
public void add(User u){
this.userDAO.save(u);
}
}
5、<context:annotation-config/>表示可以使用注解,使用某些标签时,需要引入common-annotations.jar包
6、<context:component-scan base-package="com.bjsxt"></context:component-scan> 表示对base-package包下的类进行初始化
- spring配置(非web程序)
- Spring+ibatis 非web项目相关配置
- 简单使用Spring注解 测试程序 非web程序
- 非web环境,maven+spring+mybatis配置,备忘
- 自定义缓存配置(非Web项目)
- Spring之AOP(非XML配置)
- spring配置(web项目)
- net的web.config程序配置MVC3+Spring.net+nhibernate
- Spring Web MVC框架(八) 配置Spring Web MVC
- 非web服务配置log4j
- Spring MVC + thymeleaf 非配置
- Spring Boot: (三)web开发配置
- spring web mvc配置
- Spring web 相关配置
- spring web 加载配置
- spring加载配置web
- Spring Web MVC配置
- spring web mvc配置
- div css 布局为表格效果
- 关于获取各种浏览器可见窗口大小的一点点研究
- javascript学习之简单实现jquery的$("div").text()。
- 将word转成swf的方法
- OleDB连接Oracle的两种方法
- spring配置(非web程序)
- Quartz官网
- Web服务启动时自动加载Servlet,并读取数据库内容
- js技巧代码
- 批处理同步Chrome的设置到Ramdisk
- 函数指针和指针函数
- 开篇
- main函数和启动例程
- 设计模式之python版(十)--观察者模式