我最近写了一个构建器类,并注意到标准似乎如下
public class PersonBuilder {
private String firstName;
private String lastName;
public PersonBuilder withFirstName(String firstName) {
this.firstName = firstName;
return this;
}
public PersonBuilder withLastName(String lastName) {
this.lastName = lastName;
return this;
}
public Person build() {
return new Person(this);
}
}
Run Code Online (Sandbox Code Playgroud)
相反,做以下事情是否有任何不利之处
public class PersonBuilder {
private Person person;
public PersonBuilder withFirstName(String firstName) {
person.setFirstName(firstName);
return this;
}
public PersonBuilder withLastName(String lastName) {
person.setLastName(lastName);
return this;
}
public Person build() {
return person;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这可能是一个基于意见的问题,我只是在寻找任何答案,为什么这可能是一个坏的或更好的设计模式.
我在使用Spring Boot和JSF时遇到了一些问题.servlet似乎正确启动,但是当我尝试访问资源时,我得到以下异常
java.lang.IllegalStateException: Could not find backup for factory javax.faces.context.FacesContextFactory.
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1011)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:343)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:302)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:884)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1720)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:724)
Run Code Online (Sandbox Code Playgroud)
我的Application类如下
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
@Bean …
Run Code Online (Sandbox Code Playgroud) 我已经将 Django/Python 应用程序升级到 Python 3.9.7 和 Django 3.2.7(从 Python 3.5 和 Django 1.11.23)。
目前如果我尝试运行python manage.py createsuperuser
我收到以下错误
Traceback (most recent call last):
File "/Users/myuser/.pyenv/versions/3.9.7/lib/python3.9/asyncio/selector_events.py", line 261, in _add_reader
key = self._selector.get_key(fd)
File "/Users/myuser/.pyenv/versions/3.9.7/lib/python3.9/selectors.py", line 193, in get_key
raise KeyError("{!r} is not registered".format(fileobj)) from None
KeyError: '10 is not registered'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/myuser/Development/app/manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/Users/myuser/.pyenv/versions/insta9/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/Users/myuser/.pyenv/versions/insta9/lib/python3.9/site-packages/django/core/management/__init__.py", …
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个没有web.xml的Servlet 3.0 REST服务器,即仅依赖于java类和注释.我不确定如何同时使用Spring和servlet映射注册Resource类.
我目前有:
public class ApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer
{
@Override
protected Class<?>[] getRootConfigClasses()
{
return new Class<?>[]{RootConfiguration.class};
}
@Override
protected Class<?>[] getServletConfigClasses()
{
return new Class<?>[]{RestServletConfiguration.class};
}
@Override
protected String[] getServletMappings()
{
return new String[] {"/*"};
}
}
@Configuration
@ComponentScan({"com.my.spring.beans",
"com.my.spring.services"})
public class RootConfiguration
{
}
@Configuration
@ComponentScan("com.my.resource.classes")
public class RestServletConfiguration
{
}
Run Code Online (Sandbox Code Playgroud)
当我启动应用程序时,spring bean正确连接,但我不知道如何正确设置JAX-RS servlet过滤器.我目前正在使用Jersey,并且在网上没有找到很多关于将Jersey与Spring集成而不使用web.xml的内容.
有谁知道如何以这种方式将Jersey与Spring集成?
我正在尝试在clojure中编写一个函数,该函数为向量中的每个值调用一个条件; 该函数应返回应用于每个值的条件结果的OR.例如,我有一个向量[1 2 3 4]和一个条件(> = x 3),其中x是向量中的一个元素,那么该函数应该返回true(类似[0 1 0 1]应该返回false).
我写了这个方法
(defn contains-value-greater-or-equal-to-three [values]
(or (for [x values] (>= x 3)))
)
Run Code Online (Sandbox Code Playgroud)
但是对于向量[1 2 3 4],这只是屈服(false false true true); 我想要的是应用于这些值的'或'函数.
我对函数式编程和clojure很陌生,如果我以错误的方式思考这个问题,请告诉我.
您可以创建表模型并将其添加到表中
TableModel tm = new TableModel();
JTable table = new JTable(tm);
Run Code Online (Sandbox Code Playgroud)
但是,如果我初始化一个表
JTable table = new JTable();
Run Code Online (Sandbox Code Playgroud)
然后在以后创建一个表模型...
TableModel tm = new TableModel();
tm.addValueAt(...);
...
Run Code Online (Sandbox Code Playgroud)
有没有办法将这个表模型添加到原始表中?
其实我已经创建了自己的类来扩展TableModel
和JTable
了,我以为我可以简单地重建该表中给出的新表的模式,但这似乎并没有工作.
我有一个JSF表单,其中包含一些JavaScript.当特定输入更改为值> = 10时,selectOneMenu需要动态更改其选项(是或否).
我的jQuery:
if ($("input[id*='inputBox']").val() >= 10) {
$("select[id*='selectOneMenu']").val("No");
} else {
$("select[id*='selectOneMenu']").val("Yes");
}
Run Code Online (Sandbox Code Playgroud)
当我调试时,selectOneMenu中的值被正确更改,但UI组件不会更改其选项.如何告诉selectOneMenu更新其渲染值?
java ×3
jsf ×2
builder ×1
clojure ×1
constructor ×1
django ×1
django-3.2 ×1
eventlet ×1
function ×1
jax-rs ×1
jersey ×1
jsf-2 ×1
jtable ×1
maven ×1
primefaces ×1
python ×1
python-3.x ×1
render ×1
servlet-3.0 ×1
spring ×1
spring-boot ×1
standards ×1
swing ×1
tablemodel ×1