w1100n
This site is best viewed in Google Chrome
5/21/2015 13:59 | Tag:, ,

http://www.baeldung.com/2011/12/13/the-persistence-layer-with-spring-3-1-and-jpa/ Table of Contents 1. Overview 2. The JPA Spring Configuration with Java 3. The JPA Spring Configuration with XML 4. Going full XML-less 5. The Maven configuration 6. Conclusion 1. Overview This is tutorial shows how to set up … Continue reading

1/26/2015 1:04 | Tag:

http://blog.csdn.net/liaomin416100569/article/details/4924183   org.springframework.beans.factory.BeanFactory 是Spring IoC容器的实际代表者,   IoC容器负责容纳此前所描述的bean,并对bean进行管理。   在Spring中,BeanFactory是IoC容器的核心接口。 它的职责包括:实例化、定位、配置   应用程序中的对象及建立这些对象间的依赖。   Spring为我们提供了许多易用的BeanFactory实现, XmlBeanFactory就是最常用的一个。   该实现将以XML方式描述组成应用的对象 以   及对象间的依赖关系。XmlBeanFactory类将获取此XML配 置元数据,并用它来构建一个完   全可配置的系统或应用。   BeanFactory 提供的高级配置机制,使得管理各种对象成为可能。 ApplicationContext   是BeanFactory的扩展,功能得到了进一步增强,比如更易 与Spring AOP集成、资源处理   (国际化处理)、事件传递及各种不同应用层的context实现 (如针对web应用的WebApplicationContext)。   简而言之,BeanFactory提供了配制框架及基本功能,而 ApplicationContext 则增加了   更多支持企业核心内容的功能。 … Continue reading

11/7/2014 2:44 | Tag:

在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件 中的文件,进行键值对的注入,例子如下: 1 首先在applicationContext.xml中加入: <beans xmlns:util=”http://www.springframework.org/schema/util” xsi:schemaLocation=”http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd”> </beans> 的命名空间,然后 2 <util:properties id=”settings” location=”WEB-INF/classes/META-INF/spring/test.properties” /> 3 创建test.properties abc=123 4 import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @RequestMapping(“/admin/images”) @Controller public class ImageAdminController { private String imageDir; @Value(“#{settings[‘test.abc’]}”) public void setImageDir(String val) … Continue reading

11/7/2014 1:15 | Tag:,

http://www.oschina.net/question/8676_9032 <bean class=”org.springframework.scheduling.quartz.SchedulerFactoryBean”> <property name=”triggers”> <list> <ref bean=”testTrigger”/> </list> </property> <property name=”autoStartup” value=”true”/> </bean> 说明:Scheduler包含一个Trigger列表,每个Trigger表示一个作业。 2、Trigger的配置 <bean id=”testTrigger” class=”org.springframework.scheduling.quartz.CronTriggerBean”> <property name=”jobDetail” ref=”testJobDetail”/> <property name=”cronExpression” value=”*/1 * * * * ?”/><!– 每隔1秒钟触发一次 –> </bean> 说明: 1)Cron表达式的格式:秒 分 时 日 月 周 … Continue reading

5/29/2014 11:38 | Tag:

1.LocalEntityManagerFactoryBean 只是简单环境中使用。它使用JPA PersistenceProvider自动检测机制( according to JPA’s Java SE bootstrapping ),并且大多数情况下,你只能定义一下persistence unit name 例如: <beans> <bean id=”myEmf” class=”org.springframework.orm.jpa.LocalEntityManagerFactoryBean”> <property name=”persistenceUnitName” value=”myPersistenceUnit”/> </bean> </beans> 2.从JNDI获取EntityManagerFactory 这个选项是当你应用发布在javaee5的服务器中。你可以参阅自己应用服务器文档,如何发布一个自定义的JPA provider到你的应用服务器中。 例: <beans> <jee:jndi-lookup id=”myEmf” jndi-name=”persistence/myPersistenceUnit”/> </beans> 当javaee服务器启动时,会自动检测persistence units。实际上,是检测应用包中的META-INF/persistence.xml 文件和web.xml中的persistence-unit-ref,以及定义的environment naming。我理解就是JNDI的name。 一般应用情景是: 在META-INF/persistence.xml中 使用<jta-data-source>java:/ MySqlDS</jta-data-source> 获取容器发布的Datesource。 … Continue reading

4/29/2014 3:45 | Tag:

http://www.cnblogs.com/Beyond-bit/p/SpringMVC_And_SpringSecurity.html   add maven dependancy   add dispatcher servlet in web.xml

2/26/2014 5:57 | Tag:

http://mayday85.iteye.com/blog/1622445 不知道起这个标题是不是因为我有妄想症 坐等拍砖 私以为 在使用一个框架时,程序员分为三种级别 1.看demo开发 2.看文档开发 3.看源码开发 明显1不如2,2不如3 但是考虑时间成本3不如2,2不如1 我的原则是 有好的demo不看文档,有好的文档不看源码 对于文件下载,再简单不过了,但我比较傻,不会自己写 于是在google搜索”Spring mvc 3 download”,demo版本都差不多 Java代码 收藏代码 @RequestMapping(“download”) public void download(HttpServletResponse res) throws IOException { OutputStream os = res.getOutputStream(); try { res.reset(); res.setHeader(“Content-Disposition”, “attachment; filename=dict.txt”); res.setContentType(“application/octet-stream; charset=utf-8”); os.write(FileUtils.readFileToByteArray(getDictionaryFile())); … Continue reading

2/24/2014 7:49 | Tag:,

一.首先讲下注解,autowire 与 resource的区别 @Autowired是按类型装配依赖对象,默认情况下,要求依赖对象必须存在,若允许null值,可以设置它的required属性为false。如果想使用按名称装配,可以结合@Qualifier注解一起使用。如: @Autowired @Qualifier(“xmlBean1″) private XMLBean xmlBean; @Resource和@Autowired一样,也可以标注在字段或属性的setter方法上,但它默认是按名称装配。名称可以通过@Resource的name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象。当没有使用name属性时,如果按照字段名找不到bean,就会转而使用按类型装配的方式进行查找;但当使用了name属性,只能按照指定的name查找bean,当找不到相应的bean时,就会抛异常。 @Resource(name=”xmlBeanx”) private XMLBean xmlBean;//用于字段上 二.讲解spring测试套件的好处: 在开发基于Spring的应用时,如果你还直接使用Junit进行单元测试,那你就错过了Spring为我们所提供的饕餮大餐了。使用Junit直接进行单元测试有以下四大不足: 1)导致多次Spring容器初始化问题 根据JUnit测试方法的调用流程,每执行一个测试方法都会创建一个测试用例的实例并调用setUp()方法。由于一般情况下,我们在setUp()方法中初始化Spring容器,这意味着如果测试用例有多少个测试方法,Spring容器就会被重复初始化多次。虽然初始化Spring容器的速度并不会太慢,但由于可能会在Spring容器初始化时执行加载Hibernate映射文件等耗时的操作,如果每执行一个测试方法都必须重复初始化Spring容器,则对测试性能的影响是不容忽视的; -->使用Spring测试套件,Spring容器只会初始化一次! 2)需要使用硬编码方式手工获取Bean 在测试用例类中我们需要通过ctx.getBean()方法从Spirng容器中获取需要测试的目标Bean,并且还要进行强制类型转换的造型操作。这种乏味的操作迷漫在测试用例的代码中,让人觉得烦琐不堪; -->使用Spring测试套件,测试用例类中的属性会被自动填充Spring容器的对应Bean ,无须在手工设置Bean! 3)数据库现场容易遭受破坏 测试方法对数据库的更改操作会持久化到数据库中。虽然是针对开发数据库进行操作,但如果数据操作的影响是持久的,可能会影响到后面的测试行为。举个例子,用户在测试方法中插入一条ID为1的User记录,第一次运行不会有问题,第二次运行时,就会因为主键冲突而导致测试用例失败。所以应该既能够完成功能逻辑检查,又能够在测试完成后恢复现场,不会留下“后遗症”; -->使用Spring测试套件,Spring会在你验证后,自动回滚对数据库的操作,保证数据库的现场不被破坏,因此重复测试不会发生问题! 4)不方便对数据操作正确性进行检查 假如我们向登录日志表插入了一条成功登录日志,可是我们却没有对t_login_log表中是否确实添加了一条记录进行检查。一般情况下,我们可能是打开数据库,肉眼观察是否插入了相应的记录,但这严重违背了自动测试的原则。试想在测试包括成千上万个数据操作行为的程序时,如何用肉眼进行检查? -->只要你继承Spring的测试套件的用例类,你就可以通过jdbcTemplate在同一事务中访问数据库,查询数据的变化,验证操作的正确性! Spring提供了一套扩展于Junit测试用例的测试套件,使用这套测试套件完全解决了以上四个问题,让我们测试Spring的应用更加方便。现在我的项目中已经完成摒弃Junit,而采用Spring的测试套件,确实带来了很大的便利。严重推荐Springer使用这个测试套件。这个测试套件主要由org.springframework.test包下的若干类组成,使用简单快捷,方便上手。 最后讲spring 的 测试套件: 1.显示基类,其实就是用来加载配置文件的 @RunWith(SpringJUnit4ClassRunner.class) //使用junit4进行测试@ContextConfiguration({“/app*.xml”,”/spring/app*.xml”,”/spring/service/app*.xml”}) //加载配置文件 public class BaseJunit4Test { } 接着是我们自己的测试类 … Continue reading

2/24/2014 6:44 | Tag:

存放位置: 1:src下面 需要在web.xml中定义如下: <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> 2:WEB-INF下面 需要在web.xml中定义如下: <context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/applicationContext*.xml</param-value> </context-param> web.xml 通过contextConfigLocation配置spring 的方式 SSI框架配置文件路径问题: struts2的 1个+N个  路径:src+src(可配置)      名称: struts.xml  + N spring 的 1个           路径: src                          名称: applicationContext.xml ibatis 的 1个+N个  路径: src+src(可配置)     名称: SqlMapConfig.xml + N 部署到tomcat后,src目录下的配置文件会和class文件一样,自动copy到应用的 classes目录下 spring的 配置文件在启动时,加载的是web-info目录下的applicationContext.xml, 运行时使用的是web-info/classes目录下的applicationContext.xml。 配置web.xml使这2个路径一致: <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/applicationContext.xml</param-value> </context-param> 多个配置文件的加载 <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:conf/spring/applicationContext_core*.xml, classpath*:conf/spring/applicationContext_dict*.xml, classpath*:conf/spring/applicationContext_hibernate.xml, classpath*:conf/spring/applicationContext_staff*.xml, classpath*:conf/spring/applicationContext_security.xml classpath*:conf/spring/applicationContext_modules*.xml classpath*:conf/spring/applicationContext_cti*.xml classpath*:conf/spring/applicationContext_apm*.xml </param-value> </context-param> … Continue reading

2/21/2014 8:28 | Tag:, ,

本文本的框架为:SpringMVC 3.2.3 \ jackson 1.9.2 传统的返回JSON格式的AJAX,用的方法一般是:在后台先把数据(Object)封装成JSON数据,再用HttpServletResponse返回。 本示例中,SpringMVC可直接支持JSON格式数据的返回。具体如下。 1、JAR包:SPRINGMVC包需的包,另外还需JACKSON的两个包。 jackson-core-asl-1.9.2.jar jackson-mapper-asl-1.9.2.jar 2、spring-servlet.xml中加入: Java代码   <!– 返回JSON模版 –> <bean class=”org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter” >     <property name=”messageConverters”>     <list>          <bean class=”org.springframework.http.converter.json.MappingJacksonHttpMessageConverter” />     </list>     </property> </bean> 我们在SPRING的配置中加入了一个新的适配器:AnnotationMethodHandlerAdapter,通过这个适配器,我们配置了一个属性,messageConverters,其中mappingJacksonHttpMessageConverter这个Bean,它就是用来处理json数据转换的。 注:我的项目中没有乱码现象,这样配即可,若有乱码现象,可以在MappingJacksonHttpMessageConverter的BEAN中配置supportedMediaTypes属性,是用于解决返回的乱码问题。 3、Controller中的使用 Java代码   @Controller public class SelectController {     @Resource     private TypeService typeService;     @RequestMapping(“/type”)     @ResponseBody     public Object type(){         List<Type> typelist = this.typeService.getTypeByParentid(Const.TYPE_DAILY);         return typelist;     } } 在SpringMVC中可以在Controller的某个方法上加@ResponseBody注解,表示该方法的返回结果直接写入HTTP response body中。 —————————————— 遇到的问题: … Continue reading

1/9/2014 10:52 | Tag:,

spring api WebApplicationInitializer public class MyWebAppInitializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext container) { // Create the ‘root’ Spring application context AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext(); rootContext.register(AppConfig.class); // Manage the lifecycle of the root application context container.addListener(new ContextLoaderListener(rootContext)); // … Continue reading

1/9/2014 3:01 | Tag:, ,

http://itroop.iteye.com/blog/263845 的构造方法有7个。但是它们都是相通的。这里使用无参构造函数来举例说明如何构造ModelAndView 实例。 ModelAndView类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。 最简单的ModelAndView是持有View的名称返回,之后View名称被view resolver,也就是实作org.springframework.web.servlet.View接口的实例解析,例如 InternalResourceView或JstlView等等: ModelAndView(String viewName) 如果您要返回Model对象,则可以使用Map来收集这些Model对象,然后设定给ModelAndView,使用下面这个版本的ModelAndView: ModelAndView(String viewName, Map model) Map对象中设定好key与value值,之后可以在视图中取出,如果您只是要返回一个Model对象,则可以使用下面这个ModelAndView版本: ModelAndView(String viewName, String modelName, Object modelObject) 藉由modelName,您可以在视图中取出Model并显示。 ModelAndView类别提供实作View接口的对象来作View的参数: ModelAndView(View view) ModelAndView(View view, Map model) ModelAndView(View view, String modelName, Object modelObject) 一个例子是org.springframework.web.servlet.view.RedirectView,ModelAndView预设是使 用forward来转发请求结果至视图,使用RedirectView的话,则会使用redirect将请求重导至视图,例如: … public … Continue reading

2/2/2013 22:04 | Tag:,

spring mvc 返回json格式数据的方式 http://blog.csdn.net/skmbw/article/details/12263253

1/23/2013 20:50 | Tag:

http://samuel5-1.iteye.com/blog/727772 应用springMVC时如果配置URL映射时如下配置 会导致页面引用的JS CSS发生找不到的错误 此时应在web.xml中添加

1/16/2013 12:41 | Tag:

spring定义了一个以统一的方式操作各种数据库的Lob类型数据的LobCreator(保存的时候用),同时提供了一个LobHandler为操作二进制字段和大文本字段提供统一接口访问。 举例,例子里面的t_post表中post_text字段是CLOB类型,而post_attach是BLOG类型: public class PostJdbcDao extends JdbcDaoSupport implements PostDao { private LobHandler lobHandler; private DataFieldMaxValueIncrementer incre; public LobHandler getLobHandler() { return lobHandler; } public void setLobHandler(LobHandler lobHandler) { this.lobHandler = lobHandler; } public void addPost(final Post post) { String sql … Continue reading

1/16/2013 12:37 | Tag:

Spring 不但支持自己定义的 @Autowired 的注释,还支持几个由 JSR-250 规范定义的注释,它们分别是@Resource、@PostConstruct 以及 @PreDestroy。 @Resource @Resource 的作用相当于 @Autowired,只不过 @Autowired 按 byType 自动注入,面 @Resource 默认按 byName 自动注入罢了。@Resource 有两个属性是比较重要的,分别是 name 和 type,Spring 将 @Resource 注释的 name 属性解析为 Bean 的名字,而 type 属性则解析为 Bean 的类型。所以如果使用 name 属性,则使用 byName 的自动注入策略,而使用 type 属性时则使用 byType 自动注入策略。如果既不指定 name 也不指定 type 属性,这时将通过反射机制使用 byName 自动注入策略。  @Resource装配顺序 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常 … Continue reading

11/19/2011 6:46 | Tag:,

log4jRefreshInterval为6000表示 开一条watchdog线程每6秒扫描一下配置文件的变化;

辽ICP备14012896